static file

2017-05-17  本文已影响0人  xncode

设置

设置STATIC_URL为在获取静态文件时的路由,例如设置为/static/

把静态文件放到app中的对应位置

my_app/static/my_app/example.jpg
使用的namespace的方式和模板一样

如果有文件是不属于某个特殊app的,那么可以放在项目中并通过STATICFILES_DIRS来设置

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
]

开发时

在开发阶段,如果设置了DEBUG为True,可自动提供静态文件服务。只要包含django.contrib.staticfiles在INSTALLED_APPS中即可,或者:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

但是这样需要先设置STATIC_ROOT并把所有静态文件放到这个路径下,另外测试时使用的LiveSeverTestCase也需要这样处理。当然也可以使用[django.contrib.staticfiles.testing.StaticLiveServerTestCase]

部署

就是设置STATIC_ROOT并运行

python manage.py collectstatic

这样把所有用到的静态文件都收集到这个路径底下了,然后可以使用服务器的静态文件服务机制

上一篇 下一篇

猜你喜欢

热点阅读