pragmatic/setting.py
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.1/howto/static-files/
STATIC_URL = 'static/'
# Default primary key field type
# https://docs.djangoproject.com/en/4.1/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
# BASE_DIR 프로젝트 폴더의 경로 / 스테틱 파일을 모으기 위해서 설정해준다.
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATICFILES_DIRS = [
BASE_DIR / "static",
]
1 . 웹 페이지 성능 개선: static 파일을 적절히 설정하면 웹 페이지의 로딩 속도를 개선할 수 있습니다. 브라우저가 이미지, 스타일 시트 및 스크립트를 캐싱할 수 있으므로 다음 방문 시 로딩 속도가 더 빨라집니다.
2. 코드 유지 보수성 개선: static 파일을 별도의 디렉토리에 보관하면 코드의 유지 보수성이 향상됩니다. 특히, 코드 수정 시 static 파일이 코드와 섞이지 않도록 분리하는 것이 좋습니다.
3. 확장 성 개선: Django에서 static 파일을 설정하면 다양한 확장성 개선을 이룰 수 있습니다. 예를 들어, static 파일을 CDN(Content Delivery Network)을 통해 제공하면 서버 부하를 줄이고 더욱 빠른 로딩 속도를 제공할 수 있습니다.
4. 보안성 개선: static 파일을 별도의 디렉토리에 보관하면 코드와 분리되어 보안성이 향상됩니다. 또한, 파일 권한 설정 등을 통해 보다 안전하게 관리할 수 있습니다.
<link rel="stylesheet" type="text/css" href="{% static 'base.css' %}">
% %} 템플릿 태그는 Django 템플릿 언어의 핵심 기능 중 하나입니다. 이 태그는 템플릿에서 로직을 처리하고, 변수를 출력하고, 조건 분기 및 반복문 등을 실행할 수 있도록 합니다. 예를 들어, {% if %} 태그는 조건 분기를 수행하고, {% for %} 태그는 반복문을 수행합니다.
static은 Django에서 제공하는 정적 파일 서빙 기능 중 하나입니다. static 파일은 웹 페이지에서 변하지 않는 이미지, 스타일 시트, 자바스크립트 등의 파일을 말합니다. 이러한 파일은 웹 브라우저에 캐싱되어 다음 방문 시 더 빠르게 로딩됩니다. static 파일을 사용하려면, settings.py 파일에서 STATIC_URL과 STATICFILES_DIRS 또는 STATIC_ROOT를 설정해야 합니다. 예를 들어, {% static %} 템플릿 태그는 정적 파일의 경로를 반환합니다. 이 경로는 브라우저가 정적 파일을 찾을 때 사용됩니다.
STATIC = 정적 파일 참조
{% %} = 로직 처리 및 출력