Django静态文件加载

2020年03月30日 10:36:23   [来源:互联网]   [阅读:-]
字体:【

在Django中静态文件的搜索顺序是:先搜索settings中STATICFILES_DIRS配置的目录,然后搜索每个APP下的static目录中的文件。

搜索顺序的配置是由默认配置STATICFILES_FINDERS来实现的:
STATICFILES_FINDERS:
[
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
]

{% load static %}和{% load staticfile %}
static和staticfile的区别是什么我还没搞清楚,在使用的时候碰到一种情况

之前一直是在根目录创建了static目录,然后配置STATICFILES_DIRS,所有的js、css、images都放在这一个目录下。后来想根据每个APP分开存储,就在每个APP下创建了static目录,但是js文件不能正常加载。查了好多文章后把{% load staticfile %}改成{% load static %},可以正常加载了。而且在django 2.1的官方文档中static-files看到的也是{% load static %}的方式。

在使用{% load static %}的过程中又发现了一个问题,在base.html文件头添加了{% load static %},但是通过{% extends "base.html" %}引入的html文件中使用{% static "js/xxxx.js" %}还是会出现不能识别static的错误。然后在{% extends "base.html" %}下面加上{% load static %}就可以了。在网上查了以后,发现很多人都有这样的疑问。最后又找到一种解决方式:

在settings文件中TEMPLATES配置中增加

TEMPLATES = [    {        'BACKEND': 'django.template.backends.django.DjangoTemplates',        'DIRS': [os.path.join(BASE_DIR, 'templates')],        'APP_DIRS': True,        'OPTIONS': {            'context_processors': [                'django.template.context_processors.debug',                'django.template.context_processors.request',                'django.contrib.auth.context_processors.auth',                'django.contrib.messages.context_processors.messages',            ],            # 在此处添加以后就不用在每一个html中去使用{% load static %}            'builtins': [                # 'django.contrib.staticfiles.templatetags.staticfiles',                'django.templatetags.static'            ],        },    },]


推荐阅读:骁龙710与麒麟710


相关新闻
新闻焦点
我是歌手新一季第二期一开头,吴青峰到好友萧敬腾家做客。或许是对萧敬腾的豪宅早有耳闻,吴青峰先是在门口暗中观察:见面后,看他俩背后门口的院子:最后[更多]
前几天小主不是剧荒求解救么,结果在后台被安利了好多剧,里面呼声最高的就是《锦衣之下》讲真这部剧小主一开始也是追过半集的,男主的出场方式有点惊悚,[更多]
其实在生活中每个人都有自己的定位和舞台,站在自己的舞台上,自己就是主角。但是如果站错了舞台的话,那么自己就成了别人的配角。生活中有很多这样的例子[更多]
任素汐,一位相貌平平的好演员,不曾惊艳了谁的岁月,但拥有最真实的,最鲜活的灵魂。2012年,主演话剧《驴得水》,凭借此片在2016年荣获腾讯视频[更多]
关于我们 | 联系我们 | 老版地图 | 网站地图 | 版权声明
版权所有:中华辽宁网未经授权禁止复制或建立镜像
相关作品的原创性、文中陈述文字以及内容数据庞杂本站无法一一核实,如果您发现本网站上有侵犯您的合法权益的内容,请联系我们,本网站将立即予以删除!
中国互联网违法和不良信息举报中心 网络警察报警岗亭