Django添加bootstrap框架时无法加载静态文件的解决方式
作者:D585 发布时间:2023-04-16 07:27:44
项目结构如下:
开始时在setting.py中设置如下;
html文件中的写法如下:
这样设置一直无法加载静态文件,只需要修改setting.py文件如下:
就可以加载到静态文件了。
补充知识:Django-项目上线后,静态文件配置失效以及404、500页面的全局配置
一.项目上线后静态文件失效
1.因为项目还没上线的时候,django会默认从setting.py中这个设置
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
使静态文件生效
2.当setting.py中设置项目上线环境,代码如下
# 项目上线,生产模式设置False
DEBUG = False
ALLOWED_HOSTS = ['*']
# 项目没上线
# DEBUG = True
#
# ALLOWED_HOSTS = []
3.前端就找不到静态文件static文件夹了。
4.需要像MEDIA文件一样重新配置静态文件的url:
5.setting.py中加代码:
#项目上线后,static路径需要重新配置
STATIC_ROOT = os.path.join(BASE_DIR,'static')
6.项目下的总urls.py(不是app的urls.py)中:
#项目上线后,需要自己配置static静态文件路径
url(r'^static/(?P<path>.*)$', serve, {'document_root':STATIC_ROOT}),
7.这样静态文件就能访问到了
二、404、500页面的全局配置
1.因为这个配置需要项目改成生产环境(及上的debug=False,生产环境配置需设置好才有效)
2.项目下的总urls.py(不是app的urls.py)中,urlpatterns下面添加:
from XMJonline.settings import MEDIA_ROOT,STATIC_ROOT
urlpatterns = [
...
]
# 全局404,500配置
handler404 = 'users.views.page_not_found'
handler500 = 'users.views.page_error'
3.对应的user.views中:
def page_not_found(request):
'''
全局处理404页面
'''
from django.shortcuts import render_to_response
response = render_to_response('404.html',{})
response.status_code = 404
return response
def page_error(request):
'''
全局处理500页面
'''
from django.shortcuts import render_to_response
response = render_to_response('500.html',{})
response.status_code = 500
return response
4.项目的templates文件夹添加自己想要的404/500.html页面。
5.测试500的问题。
class IndexView(View):
'''
首页
'''
def get(self,request):
# 取轮播图
print(1/0)
6.访问首页。
7.成功跳转到自己配置的500页面。
来源:https://blog.csdn.net/u010042585/article/details/79523407


猜你喜欢
- 今天的这篇文章是讲XHTML中的细节部分的,这篇续述的主题就是ID与CLASS怎么用,在标题中有提及使用原则与技巧,这里的使用原则与技巧是我
- 有时候,我们需要检测一个元素是否已经存在列表中,并且不区分大小写,如:列表已有元素Mary,那我们想认为MARY也已经被占用。这个例子在实际
- 01 实现我们几乎每个人都用过计算器,大家对于计算器应该都是比较熟悉的,计算器整体也是比较简单的,主要包括:显示器、键盘、运算的逻辑处理等,
- 微信小程序 滚动选择器(时间日期)详解微信小程序自己封装了很多控件,用起来确实很方便,如果这是Android里面,还需要自己去定
- 基本对比使用方式使用场合优缺点是否需要安装需要的dll网址引用方式程序内引用程序初期确定使用MySql,前期添加引用大多数情况下使用在类文件
- 题目大意问 太阳神有一牛群,由白、黑、花、棕四种颜色的公、母牛组成,其间关系如下,求每种牛的个数。公牛中,白牛多于棕牛,二者之差为
- 本文实例讲述了JS实现水平遍历和嵌套递归操作。分享给大家供大家参考,具体如下:程序中存在着一些有意思的逻辑,比如多层嵌套可以用递归遍历,比如
- fetchone() 返回单个的元组,也就是一条记录(row),如果没有结果 则返回 Nonefetchall() 返回多个元组,即返回多个
- python命名规则命名风格python几种不同命名风格驼峰式命名法(WjW)混合式命名法(wjWj)大写(WJWJWJ)或大写加下划线(W
- 参考其他比较专业的博客系统,都在代码块上有一个复制代码的按钮。用来快速复制整个代码块的代码。于是我也想给我的博客增加一个这个功能。注:chr
- 我们知道同步执行和异步执行的区别,为了更好的提高用户的体验,我们都会采用异步方式去处理一些问题,毕竟单线程的同步可能回造成卡死等现象,很不友
- 前言本文主要介绍了关于Python中TCP socket的写法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。一、 服务器
- 在工作和学习中如果同时传输多个文件,大的安装包,python提供了一种无线传输的方法,开启一个本地http服务器,同一局域网下可方便访问 经
- 下面开始优化下my.conf文件(这里的优化只是在mysql本身的优化,之前安装的时候也要有优化)cat /etc/my.cnf# For
- 前端开发部门在壮大,人员在增加,技术在进步。CSSer虽然不能代表前端开发团队,但CSSer是前端开发中非常重要的组成部分。一、文档写程序的
- Xxencode编码,也是一个二进制字符转换为普通打印字符方法。跟UUencode编码原理方法很相似,唯独不同的是可打印字符不同。通个UUe
- 这礼拜碰到一些问题,然后意识到基础知识一段时间没巩固的话,还是有遗忘的部分,还是需要温习,这里做份笔记,记录一下前续先简单描述下碰到的题目,
- 目录一、目标二、环境准备1、基本信息2、数据库环境准备3、建库 & 导入分表三、配置&实践1、pom文件 &nbs
- 一,通用的ASCII码对照表 图解ASCII码对照表图,以字符A为例Dec表示十进制,如65Hx表示十六进制,如41Oct表示八进制,如10
- 场景现在的项目,基本都是前后端分离,后端只要提供Json等格式的数据就行。在这个背景下,模板渲染这个功能备受冷落,很少会在项目中用到。虽然在