在Django中,靜態文件(例如CSS,JavaScript,圖片等)和媒體文件(例如用戶上傳的圖片,視頻等)需要分別存放在不同的文件夾中,并且需要在項目中進行相應的配置才能正確處理。
靜態文件處理:
static
文件夾內。settings.py
文件中,配置STATIC_URL
和STATICFILES_DIRS
參數,指定靜態文件的URL和存放路徑。{% static %}
模板標簽來引用靜態文件,例如<link rel="stylesheet" href="{% static 'css/style.css' %}">
。python manage.py collectstatic
命令來將靜態文件收集到指定的靜態文件夾中。媒體文件處理:
media
文件夾內。settings.py
文件中,配置MEDIA_URL
和MEDIA_ROOT
參數,指定媒體文件的URL和存放路徑。FileField
或ImageField
字段來保存用戶上傳的媒體文件。{{ object.field.url }}
來引用媒體文件,其中object
是包含媒體文件字段的模型實例。MEDIA_ROOT
路徑來讓Django能夠訪問到存放的媒體文件。總的來說,靜態文件主要用于存放網站的靜態資源文件,而媒體文件主要用于存放用戶上傳的文件。需要注意的是,生產環境中需要配置web服務器(如Nginx或Apache)來處理靜態文件和媒體文件,以提高網站的性能和安全性。