Django添加bootstrap框架时无法加载静态文件的解决方式


Posted in Python onMarch 27, 2020

项目结构如下:

Django添加bootstrap框架时无法加载静态文件的解决方式

开始时在setting.py中设置如下;

Django添加bootstrap框架时无法加载静态文件的解决方式

html文件中的写法如下:

Django添加bootstrap框架时无法加载静态文件的解决方式

这样设置一直无法加载静态文件,只需要修改setting.py文件如下:

Django添加bootstrap框架时无法加载静态文件的解决方式

就可以加载到静态文件了。

补充知识: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页面。

以上这篇Django添加bootstrap框架时无法加载静态文件的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解python实现线程安全的单例模式
Mar 05 Python
详解pyqt5 动画在QThread线程中无法运行问题
May 05 Python
python爬取微信公众号文章的方法
Feb 26 Python
Python OpenCV调用摄像头检测人脸并截图
Aug 20 Python
python爬虫模拟浏览器的两种方法实例分析
Dec 09 Python
使用python 计算百分位数实现数据分箱代码
Mar 03 Python
Python任务自动化工具tox使用教程
Mar 17 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
Mar 24 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
Python命名空间及作用域原理实例解析
Aug 12 Python
python 统计list中各个元素出现的次数的几种方法
Feb 20 Python
Python中npy和mat文件的保存与读取
Apr 24 Python
Python itertools.product方法代码实例
Mar 27 #Python
python实现图像全景拼接
Mar 27 #Python
如何在Python 游戏中模拟引力
Mar 27 #Python
Python 实现平台类游戏添加跳跃功能
Mar 27 #Python
django配置app中的静态文件步骤
Mar 27 #Python
使用卷积神经网络(CNN)做人脸识别的示例代码
Mar 27 #Python
django实现HttpResponse返回json数据为中文
Mar 27 #Python
You might like
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
javascript父、子页面交互技巧总结
2014/08/08 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
2017/10/31 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
JavaScript类的继承方法小结【组合继承分析】
2018/07/11 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
解决layer.confirm选择完之后消息框不消失的问题
2019/09/16 Javascript
使用Vue 自定义文件选择器组件的实例代码
2020/03/04 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
[15:09]DOTA2国际邀请赛采访专栏:Loda
2013/08/06 DOTA
[03:49]DOTA2 2015国际邀请赛中国区预选赛第二日现场百态
2015/05/27 DOTA
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
Python计算一个给定时间点前一个月和后一个月第一天的方法
2018/05/29 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
白兰氏健康Mall:BRAND’S
2017/11/13 全球购物
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
经典c++面试题三
2015/07/08 面试题
服装设计专业自荐书范文
2013/12/30 职场文书
校园活动策划书范文
2014/01/10 职场文书
中青班党性分析材料
2014/02/16 职场文书
个人工作主要事迹
2014/05/08 职场文书
幸福中国演讲稿
2014/09/12 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
2019职场单身人才调研报告:互联网行业单身比例最高
2019/08/07 职场文书
基于Golang 高并发问题的解决方案
2021/05/08 Golang