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的批量远程管理和部署工具Fabric用法实例
Jan 23 Python
python查找指定具有相同内容文件的方法
Jun 28 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
python 禁止函数修改列表的实现方法
Aug 03 Python
用Python实现数据的透视表的方法
Nov 16 Python
解决pyecharts在jupyter notebook中使用报错问题
Apr 23 Python
python实现在cmd窗口显示彩色文字
Jun 24 Python
python实现批量文件重命名
Oct 31 Python
python装饰器使用实例详解
Dec 14 Python
浅谈tensorflow 中tf.concat()的使用
Feb 07 Python
Django返回HTML文件的实现方法
Sep 17 Python
python三子棋游戏
May 04 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下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
怎么在Windows系统中搭建php环境
2013/08/31 PHP
Yii视图CGridView列表用法实例分析
2016/07/12 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
2017/10/10 PHP
PHP7导出Excel报ERR_EMPTY_RESPONSE解决方法
2019/04/16 PHP
在线游戏大家来找茬II
2006/09/30 Javascript
前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)
2010/03/04 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
js图片延迟技术一般的思路与示例
2014/03/20 Javascript
JavaScript中的比较操作符&gt;、=、
2014/12/31 Javascript
JS+CSS实现的拖动分页效果实例
2015/05/11 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
简单理解vue中Props属性
2016/10/27 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
实现div内部滚动条滚动到底部和顶部的代码
2017/11/15 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
如何在基于vue-cli的项目自定义打包环境
2018/11/10 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
介绍Python中几个常用的类方法
2015/04/08 Python
Python配置mysql的教程(推荐)
2017/10/13 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
python字符串判断密码强弱
2020/03/18 Python
Ooni英国官网:披萨烤箱
2020/05/31 全球购物
淘宝网店营销策划书
2014/01/11 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
学习张林森心得体会
2014/09/10 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
幼儿园老师新年寄语2015
2014/12/08 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
分享7个 Python 实战项目练习
2022/03/03 Python