海南都市网_海南最权威的都市企业资讯门户网站之一
您当前的位置 : 海南都市网  >  资讯
Django静态文件加载!
2020-11-21 04:43:03 来源:互联网 阅读:-

在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'            ],        },    },]


推荐阅读:顶级财经网

频道推荐
  • 让利从不套路 哈弗H4至高14500元综合钜惠!
    让利从不套路 哈弗H4至高14500元综合钜

    节气已过白露,气候也逐渐开始凉爽。“金九银十”原本是中国消费市场中首创的流行语,大意是指9月、10月是一年中的消费旺季,尤其是在买汽车这样的大件商品时,这种从众...

    2020-09-11
  • 聚力重启 合和共生 CHIC大湾区展破浪而来
    聚力重启 合和共生 CHIC大湾区展破浪而来

    “筑梦大湾区,奋进‘新常态’。”7月17日,2020大湾区国际服装服饰博览会(CHIC2020大湾区展)大幕落下,作为亚洲地区最具规模与影响力的服装服饰专业展会...

    2020-07-21
  • 没有痣的他们是不是别有一番风味
    没有痣的他们是不是别有一番风味

    很多明星的脸上都有痣,有的明星为了不影响自己的颜值,都把它点掉了,像李易峰、李倩。还有的明星则保留了那些痣,让自己有辨识度,但会不会点掉更好呢,一起来看看迪丽热...

    2019-12-31
  • 《奔腾年代》剧中这十句台词说得特在理,您觉得呢?
    《奔腾年代》剧中这十句台词说得特在理,您觉得

    《奔腾年代》已经完美收官,不知有没有和我一样的小伙伴依旧是恋恋不舍。在感受奔腾机车梦和白首终老爱情的同时,我也被剧中频出的金句台词所感染?下面这十句台词,我觉得...

    2019-12-31
  • 明着圈钱的5大烂片,坑粉丝、卖人设,他们做到了!
    明着圈钱的5大烂片,坑粉丝、卖人设,他们做到

    1、《奔跑吧!兄弟》电影版。票房:4.35亿。好好的综艺,为什么拍电影,前两季综艺还算可以,后面一季比一季差,到现在连关注都懒得关注,太没有意义,简直就是浪费大...

    2019-12-31
  • 他是《父母爱情》校长儿子,出演“学霸腹黑男”演技炸裂:有前途
    他是《父母爱情》校长儿子,出演“学霸腹黑男”

    说起娱乐圈子承父业的不在少数,有葛存壮、葛优父子,陈强、陈佩斯父子。年轻一代中有陈宝国、陈月父子,郭德纲、郭麒麟还有就是今天要说的杨立新、杨玏父子。杨立新都知道...

    2019-12-30
  • 李兰迪清宫造型被吐槽后,中戏考试照片曝光,终于理解导演的审美
    李兰迪清宫造型被吐槽后,中戏考试照片曝光,终

    李兰迪最近的热度是真的很高,有很多的人都是在一直关注着她,之前在综艺节目《亲爱的客栈3》中的时候,她也是因为性格问题一直被大家讨论,之前因为饰演余周周留下的印象...

    2019-12-30
  • 同是老戏骨“年轻照”,苏大强忍了,苏母也忍了,看到他沦陷了
    同是老戏骨“年轻照”,苏大强忍了,苏母也忍了

    现在纵观整个娱乐圈,可以说是90后,00后的天下。每播一部剧,剧中的小鲜肉和小花都特别多,而且颜值确实很高。但是有时也会需要很多老戏骨出演,往往他们的一些角色深...

    2019-12-27