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统计文件行数示例分享
Feb 21 Python
跟老齐学Python之关于类的初步认识
Oct 11 Python
Python set常用操作函数集锦
Nov 15 Python
python生成密码字典的方法
Jul 06 Python
Python爬取视频(其实是一篇福利)过程解析
Aug 01 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
基于TensorFlow常量、序列以及随机值生成实例
Jan 04 Python
Python3操作YAML文件格式方法解析
Apr 10 Python
Python利用Pillow(PIL)库实现验证码图片的全过程
Oct 04 Python
Python调用ffmpeg开源视频处理库,批量处理视频
Nov 16 Python
MATLAB 全景图切割及盒图显示的实现步骤
May 14 Python
使用python将HTML转换为PDF pdfkit包(wkhtmltopdf) 的使用方法
Apr 21 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下利用curl判断远程文件是否存在的实现代码
2011/10/08 PHP
php四种基础算法代码实例
2013/10/29 PHP
javascript 对象的定义方法
2007/01/10 Javascript
分享一道笔试题[有n个直线最多可以把一个平面分成多少个部分]
2012/10/12 Javascript
jQuery 仿百度输入标签插件附效果图
2014/07/04 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
bootstrap制作jsp页面(根据值让table显示选中)
2017/01/05 Javascript
Bootstrap导航条学习使用(一)
2017/02/08 Javascript
Angular开发实践之服务端渲染
2018/03/29 Javascript
node.js使用net模块创建服务器和客户端示例【基于TCP协议】
2020/02/14 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中threading模块join函数用法实例分析
2015/06/04 Python
Django内容增加富文本功能的实例
2017/10/17 Python
Python数据结构与算法之图的基本实现及迭代器实例详解
2017/12/12 Python
Django的Modelforms用法简介
2019/07/27 Python
python分布式编程实现过程解析
2019/11/08 Python
如何使用python传入不确定个数参数
2020/02/18 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
2020/02/25 Python
基于Python实现视频的人脸融合功能
2020/06/12 Python
Python操作MySQL数据库的示例代码
2020/07/13 Python
python脚本第一行如何写
2020/08/30 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
python推导式的使用方法实例
2021/02/28 Python
Infababy英国:婴儿推车、Travel System婴儿车和婴儿汽车座椅销售
2018/05/23 全球购物
意大利消费电子产品购物网站:SLG Store
2019/12/26 全球购物
采购部经理岗位职责
2014/02/10 职场文书
党的群众路线教育实践活动心得体会900字
2014/03/07 职场文书
学校社会实践活动总结
2014/07/03 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
干部考察材料范文
2014/12/24 职场文书
超市督导岗位职责
2015/04/10 职场文书
python glom模块的使用简介
2021/04/13 Python
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
python3.9之你应该知道的新特性详解
2021/04/29 Python