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数据类型转换函数总结
Mar 11 Python
Python datetime时间格式化去掉前导0
Jul 31 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
python编程实现随机生成多个椭圆实例代码
Jan 03 Python
Python+selenium实现截图图片并保存截取的图片
Jan 05 Python
python简单商城购物车实例代码
Mar 15 Python
python 实现读取一个excel多个sheet表并合并的方法
Feb 12 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 Python
python取余运算符知识点详解
Jun 27 Python
Django使用中间键实现csrf认证详解
Jul 22 Python
python 协程 gevent原理与用法分析
Nov 22 Python
Python连接字符串过程详解
Jan 06 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
PHP文本数据库的搜索方法
2006/10/09 PHP
支持oicq头像的留言簿(二)
2006/10/09 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
php获取apk包信息的方法
2014/08/15 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
jQuery 注意事项 与原因分析
2009/04/24 Javascript
解读JavaScript代码 var ie = !-[1,] 最短的IE判定代码
2011/05/28 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jQuery实现最简单实用的分秒倒计时
2017/02/05 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
2019/06/10 jQuery
Python简单日志处理类分享
2015/02/14 Python
详解python里的命名规范
2018/07/16 Python
pygame游戏之旅 调用按钮实现游戏开始功能
2018/11/21 Python
Python实现八皇后问题示例代码
2018/12/09 Python
Python编程中flask的简介与简单使用
2018/12/28 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
Python3.7+tkinter实现查询界面功能
2019/12/24 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
keras实现基于孪生网络的图片相似度计算方式
2020/06/11 Python
python Matplotlib模块的使用
2020/09/16 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
幼儿园大班教学反思
2014/02/10 职场文书
书香校园活动方案
2014/02/28 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
表彰大会策划方案
2014/05/13 职场文书
大气污染防治方案
2014/05/19 职场文书
计算机多媒体专业自荐信
2014/07/04 职场文书
2014年医院科室工作总结
2014/12/20 职场文书