博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django--static静态文件引用
阅读量:5046 次
发布时间:2019-06-12

本文共 1551 字,大约阅读时间需要 5 分钟。

需求

引用静态文件的目录不写死

速查

settings.py
 

TEMPLATES--context_processors列表中加入:

1
"django.core.context_processors.static"
,
html引用
1
<
script
src
=
"{
{ STATIC_URL }}js/jquery-2.1.4.min.js"
></
script
>

知识点

Django框架有自己设定的context值,并把他传入模板中进行渲染。​

详细

静态文件目录以前在引用的时候是写死的:

1
<
script
src
=
"/static/js/jquery-2.1.4.min.js"
></
script
>

在settings中已经定义了静态文件的目录:

1
STATIC_URL
=
'/static/'

所以,我们以后引用的时候,最好也去调用配置文件中的参数,方便未来的修改。

方法一:

利用Django框架自定义context值

html
 
1
<
script
src
=
"{
{ STATIC_URL }}js/jquery-2.1.4.min.js"
></
script
>
settings要添加一个参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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'
,
                
"django.core.context_processors.static"
,   
#添加此行
            
],
        
},
    
},
]
原理:(源码)​

1
from
django.core.context_processors
import
static

1
2
3
4
5
def
static(request):
    
"""
    
Adds static-related context variables to the context.
    
"""
    
return
{
'STATIC_URL'
: settings.STATIC_URL}

方法二:

利用sample_tag

html
1
2
3
4
5
6
{% load staticfiles %}
<html lang=
"en"
>
<head></head>
<body>
    
<script src=
"{% static "
js/jquery-
2.1
.
4
.min.js
" %}"
></script>
</body>
原理:​
  1. 文件最开头导入sample_tag的static({% load static %})或staticfiles文件

  2. 调用的时候,获取static函数的返回值

  3. 后面再加上js文件的路径

  4. 不用再settings里添加参数

 
 
 

转载于:https://www.cnblogs.com/daliangtou/p/5305336.html

你可能感兴趣的文章
Zookeeper系列(二)特征及应用场景
查看>>
【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
查看>>
Spring Boot使用Druid和监控配置
查看>>
poi 处理空单元格
查看>>
Android 内存泄漏优化总结
查看>>
luogu4849 寻找宝藏 (cdq分治+dp)
查看>>
Spring Cloud微服务笔记(五)Feign
查看>>
C语言键盘按键列表
查看>>
Codeforces Round #374 (Div. 2)
查看>>
oracle数据类型
查看>>
socket
查看>>
Vue中使用key的作用
查看>>
二叉索引树 树状数组
查看>>
日志框架--(一)基础篇
查看>>
Java设计模式之原型模式
查看>>
Spring学习(四)-----Spring Bean引用同xml和不同xml bean的例子
查看>>
哲理故事与管理之道(20)-用危机激励下属
查看>>
关于源程序到可运行程序的过程
查看>>
wepy的使用
查看>>
转载:mysql数据库密码忘记找回方法
查看>>