Django--static静态文件引用

需求

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

速查

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里添加参数


来自为知笔记(Wiz)

时间: 2024-10-24 15:14:25

Django--static静态文件引用的相关文章

django关闭DEBUG后 static静态文件都访问不了

Django框架仅在开发模式下提供静态文件服务.当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供静态文件服务了.想一想这是符合Django的哲学的:这部分事情标准服务器都很擅长,就让服务器去做吧! OK,解决问题的办法也就出现了,我最开始想到的就是,使用项目正式部署是所使用的配置,由apache提供静态文件服务.不过解决问题的方法远不止一种,在stackoverflow上我发现了更有趣的方法.

Django2_MVC(MTV)模型、常用简单命令、项目目录文件说明及static静态文件

一.MVC.MTV模型著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起.模型负责业务对象与数据库的对象(ORM),视图负责与用户的交互(页面),控制器(C)接受用户的输入调用模型和视图完成用户的请求.Django的MTV模式本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同,Django的MTV分别代表:Model(模型):负责业务对象与数据库的对象(ORM)Templat

模板变量,过滤器和静态文件引用

一.模板变量 语法:{{  变量名  }} 由字母.数字以及下划线组成,不能以下划线开头,不能有空格和标点符号 例:在app (teacher文件夹)下的views.py文件中定义一个函数,用render里的参数context,context是以键值对形式 def index(request): lt = [1,2,3] dt = {'name':'shen' , 'age':18} return render(request, 'teacher/index.html', context = {

Django static静态配置文件

对于Django来说静态文件一般交由Web服务器处理,Django本身不处理静态文件.为了使Django开发环境能够处理静态文件,Django有和生产环境不同的静态文件配置方式. Django 版本:1.10 开发(Dev)环境配置 一.STATIC_URL, STATICFILES_DIRS, STATIC_ROOT1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/img等2. 确保settings.py中的INSTALLED_AP

django中静态文件路径配置

#环境:ubuntu12.04+python27+django1.4.2+[ngix]+fastcgi; #如果经过ngix服务器的话无疑可以在任意位置放置,只要在ngix中配置相关的路径文件,但很多时候在调试时我们不想经过ngix服务器,那就需要对django进行静态文件的路径配置. #首先我想把我的静态文件放在项目的根目录下,创建一个static的文件夹,为了便于显示效果,我在static下放置了一个sa.txt文件,里面随意写一些内容! #文件目录如图所示: #打开settings.py文

django处理静态文件

转载自 http://www.cnblogs.com/wswang/p/5519101.html 静态文件指的是js css 还有图片这些,配置方法如下 1. 在设置文件(settings.py)中,installed_apps中添加 django.contrib.staticfiles 然后设置static_url 1 STATIC_URL = '/static/' 2. 在模板中的使用方式如下 1 2 {% load staticfiles %} <img src="{% static

apache上部署django的静态文件

一直在优化自己博客的代码, 昨天把css样式表分离出来, 用作静态 文件, 但是自己还没学django怎么使用静态文件, 经过一番google 终于解决了. django 使用静态文件有两种方法, 一种就是部署在django上, 另外一种 是部署在apache 上, 前一种方法有一定的缺陷, 效率不高, 而且会造 成一定的安全威胁, 具体我也不知道, 大家可以看官方文档, 但是还是 向大家介绍一下. 可以在你的项目下建一个static目录, 在settings.py 中添加: #填写你静态文件的

django 中静态文件项目加载问题

问题描述: django项目中创建了多个app后,每个app中都有对应的static静态文件.整个项目运行时这些静态文件的加载就是一个问题,因为整个项目我只参与了一部分,项目部署之类的并没有参与.我写的部分的js代码遇到点问题,修改了相应的代码后整个项目没有按照我的设想改变. 解决: 在项目中执行 python manage.py collectstatic 该命令收集项目下的静态文件,统一保存到 项目配置文件下的STATIC_ROOT.以重新加载静态文件. 原文地址:https://www.c

django的静态文件的引入

django的静态文件的引入 1.路径配置 在templates文件夹的同级目录下新建static文件夹 在setting里面写上STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')] 2.静态文件的引入 硬编码 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <t

Django框架静态文件配置和URL解析

静态文件配置 1:#在django项目下创建一个static静态文件文件夹,在static文件夹下创建对应的css,img,js文件夹,用来存放css样式文件,图片和js代码,用于HTML引入 2:#在django项目的settings配置文件中,配置静态文件相关配置(setting文件的最下面) STATIC_URL = '/static/' #静态文件的文件路径别名,别名可以改,一般不改 STATICFILES_DIRS = [ #静态文件的文件路径,就是创建的static的静态文件夹路径,