久久综合给合久久狠狠狠974色|亚洲成熟丰满熟妇高潮xxxxx|国产又黄又黄又大又粗又爽的视频|日韩久久久精品无码一区二区三区|中文字幕无码乱人伦一区二区三区|国产成人无码区免费内射一片色欲|亚洲av无码久久精品一区二区三区

Django靜態(tài)文件加載

2020-03-30 17:46:07  閱讀:-  來源:

在Django中靜態(tài)文件的搜索順序是:先搜索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的區(qū)別是什么我還沒搞清楚,在使用的時候碰到一種情況

之前一直是在根目錄創(chuàng)建了static目錄,然后配置STATICFILES_DIRS,所有的js、css、images都放在這一個目錄下。后來想根據每個APP分開存儲,就在每個APP下創(chuàng)建了static目錄,但是js文件不能正常加載。查了好多文章后把{% load staticfile %}改成{% load static %},可以正常加載了。而且在django 2.1的官方文檔中static-files看到的也是{% load static %}的方式。

在使用{% load static %}的過程中又發(fā)現了一個問題,在base.html文件頭添加了{% load static %},但是通過{% extends "base.html" %}引入的html文件中使用{% static "js/xxxx.js" %}還是會出現不能識別static的錯誤。然后在{% extends "base.html" %}下面加上{% load static %}就可以了。在網上查了以后,發(fā)現很多人都有這樣的疑問。最后又找到一種解決方式:

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


蒲江县| 仲巴县| 衡阳县| 会理县| 枣强县| 连山| 班玛县| 奉节县| 哈巴河县| 古田县| 长宁区| 玉山县| 台安县| 石棉县| 达日县| 上蔡县| 禹州市| 平江县| 花莲市| 闸北区| 广安市| 南乐县| 都匀市| 安远县| 怀宁县| 伊吾县| 和顺县| 南涧| 邛崃市| 错那县| 郸城县| 黄浦区| 湘乡市| 额济纳旗| 光山县| 双桥区| 滕州市| 张北县| 富顺县| 拜泉县| 夹江县|