Django -- 静态文件

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 %}

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 目录中

你可能感兴趣的:(Django -- 静态文件)