时间:2021-05-22
环境配置
前言
在编写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在根目录下用来收集所有静态资源文件。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、问题描述在SpringBoot中加入SpringSecurity中之后,静态资源总是被过滤,导致界面很难看:目录结构:二、问题解决正常不拦截资源,我查阅资料
本文分析了thinkPHP分组后模板无法加载问题解决方法。分享给大家供大家参考,具体如下:一个分组简要的目录结构如下图所示:默认分组配置为Home。当访问loc
问题描述在使用vue-axios向后端post数据时,PHP端获取不到post的数据。问题解决修改php.ini配置找到php.ini配置文件,查找enable
Docker容器日志中文乱码问题解决办法1.找到dockerfile文件,如/use/local/src/Docker/Dockerfile2.编辑Docker
直接双击打开excel2010文件(XLSorXLSx)时的“向程序发送命令时出现错误”的问题根源找到了。关掉COM插件的加载后问题解决