Django使用模板后无法找到静态资源文件问题解决


Posted in Python onJuly 19, 2019

环境配置

  • Django版本1.11
  • python版本3.6.2

前言

在编写Django网站的时候,在涉及模板方面,一些简单的例子都没有问题,但这些例子都有一个共同点,那就是所使用的模板没有需要的静态资源文件。当涉及到模板中需要静态资源文件,如css,js等文件的时候,如果我们不做什么处理,直接按前端写好的给我们放入到templates文件中时,即如下形式:

|templates

|----js

|--------xxxx.js

|----css

|--------xxxx.css

|----xxxx.html

当运行网站的时候,我们会发现所有需要加载的都没有加载进来,原因便是在渲染页面的时候,Django的处理器将目录对应到了根目录,所以我们使用的其实是在根目录下的静态资源文件(其实并没有),所以也就会出现404错误。

解决方法

首先settings.py文件中应有如下代码

STATIC_URL = '/static/'

这是用来定义静态目录URL,一般都已经给出

在每个要使用到静态资源的模板中,我们应该将路径改为static下的目录,比如

/static/my_app/example.jpg

或者

{% load static %}
 <img src="{% static "my_app/example.jpg" %}" alt="My image"/>

当然,不使用static也行,可以自己定义存放静态资源文件的目录,如下:

STATICFILES_DIRS = [
 os.path.join(BASE_DIR, "static"),
 '/var/www/static/',
 ]

我们需要注意的是,这里的static文件夹是处于你所引用模板的app下的static文件夹,尽量不要把资源放在根目录下static文件夹,因为根目录下的static文件夹一般是用来将所有STATICFILES_DIRS中所有文件夹中的文件,以及各app中static中的文件都复制过来,为的是把这些文件放到一起是用apache等部署的时候更方便,如下

STATIC_ROOT = os.path.join(BASE_DIR, 'collected_static')

我们就定义了一个collected_static在根目录下用来收集所有静态资源文件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
探究Python多进程编程下线程之间变量的共享问题
May 05 Python
Python函数式编程指南(二):从函数开始
Jun 24 Python
Python制作爬虫采集小说
Oct 25 Python
Python 探针的实现原理
Apr 23 Python
Python实现定时精度可调节的定时器
Apr 15 Python
python向字符串中添加元素的实例方法
Jun 28 Python
python代码实现逻辑回归logistic原理
Aug 07 Python
ORM Django 终端打印 SQL 语句实现解析
Aug 09 Python
python matplotlib库绘制散点图例题解析
Aug 10 Python
numpy库reshape用法详解
Apr 19 Python
Python configparser模块应用过程解析
Aug 14 Python
python如何获取网络数据
Apr 11 Python
Django模板Templates使用方法详解
Jul 19 #Python
python GUI图形化编程wxpython的使用
Jul 19 #Python
Django 外键的使用方法详解
Jul 19 #Python
python原类、类的创建过程与方法详解
Jul 19 #Python
Django 全局的static和templates的使用详解
Jul 19 #Python
python之拟合的实现
Jul 19 #Python
Django 过滤器汇总及自定义过滤器使用详解
Jul 19 #Python
You might like
php自动加载的两种实现方法
2010/06/21 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
用js怎么把&amp;字符换成&quot;&amp;amp:&quot;
2006/10/19 Javascript
关于JavaScript的gzip静态压缩方法
2007/01/05 Javascript
javascript定义函数的方法
2010/12/06 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
JavaScript导航脚本判断当前导航
2016/07/12 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
基于JavaScript实现图片连播和联级菜单实例代码
2017/07/28 Javascript
javascript算法之二叉搜索树的示例代码
2017/09/12 Javascript
浅谈手写node可读流之流动模式
2018/06/01 Javascript
Vuex 使用 v-model 配合 state的方法
2018/11/13 Javascript
详解nodejs 配置文件处理方案
2019/01/02 NodeJs
[01:51]DAC趣味视频-如何成为职业选手.mp4
2017/04/02 DOTA
[51:15]完美世界DOTA2联赛PWL S2 PXG vs Magma 第一场 11.21
2020/11/24 DOTA
python实现提取百度搜索结果的方法
2015/05/19 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
python实现雨滴下落到地面效果
2018/06/21 Python
Python绘制正余弦函数图像的方法
2018/08/28 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
详解Python 中的 defaultdict 数据类型
2021/02/22 Python
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
Fabletics官网:美国运动服饰品牌,由好莱坞女演员凯特·哈德森创立
2019/10/19 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
c语言常见笔试题总结
2016/09/05 面试题
服务生自我鉴定
2014/01/22 职场文书
2014年元旦促销活动方案
2014/02/22 职场文书
护士实习求职信
2014/06/22 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
世界遗产导游词
2015/02/13 职场文书
社团个人总结范文
2015/03/05 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers
SQL IDENTITY_INSERT作用案例详解
2021/08/23 MySQL
项目中Nginx多级代理是如何获取客户端的真实IP地址
2022/05/30 Servers