Django -- 静态文件
2018-03-25 本文已影响0人
liaozb1996
Django - HowTo / static file
以下内容仅适用于开发阶段,在生产环境配置,转至 Deploying static files
静态文件分为两类:
- static:开发者产生的 (CSS, Javscript, 图片)
- media: 用户上传的 (头像...)
配置:settings.py
DEBUG = True
-
INSTALLED_APPS
:'django.contrib.staticfiles'
将所有静态文件收集到一个目录中
Static File
APP
-
settings.py
:STATIC_URL = '/static/'
- 在 APP 下创建目录:
myapp/static/myapp/
- 在模板中引用
{% load static %}
<img src="{% static "myapp/example.jpg" %}" alt="My image"/>
Project
默认,Django 会在 app 目录下static/
文件夹查找静态文件,如果要让 Django 在其他的地方查找静态文件,需明确指定
# settings.py
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]
Media File
# settings.py
MEDIA_ROOT = MEDIA_DIR # 存放文件的目录
MEDIA_URL = '/media/'
# mysite/urls.py
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
部署
# settings.py
STATIC_ROOT = "/var/www/example.com/static/"
$ python manage.py collectstatic
# django.contrib.staticfiles 会将静态文件收集到 STATIC_ROOT 目录中