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 相关文章推荐
以一段代码为实例快速入门Python2.7
Mar 31 Python
Python实现多线程HTTP下载器示例
Feb 11 Python
Python使用Turtle模块绘制五星红旗代码示例
Dec 11 Python
python做量化投资系列之比特币初始配置
Jan 23 Python
Python爬虫实现百度图片自动下载
Feb 04 Python
python 输出上个月的月末日期实例
Apr 11 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
OpenCV+Python识别车牌和字符分割的实现
Jan 31 Python
python用match()函数爬数据方法详解
Jul 23 Python
Python Pivot table透视表使用方法解析
Sep 11 Python
python反扒机制的5种解决方法
Feb 06 Python
Pandas加速代码之避免使用for循环
May 30 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
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP fastcgi模式上传大文件(大约有300多K)报错
2014/09/28 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
javascript Array.remove() 数组删除
2009/08/06 Javascript
非常棒的10款jQuery 幻灯片插件
2011/06/14 Javascript
JavaScript 操作table,可以新增行和列并且隔一行换背景色代码分享
2013/07/05 Javascript
jquery.cookie() 方法的使用(读取、写入、删除)
2013/12/05 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
14款NodeJS Web框架推荐
2014/07/11 NodeJs
JS操作HTML自定义属性的方法
2015/02/10 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
详解AngularJS中的依赖注入机制
2015/06/17 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
原生js和jquery分别实现横向导航菜单效果
2016/05/13 Javascript
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
原生js实现随机点名功能
2019/11/05 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
Python迭代用法实例教程
2014/09/08 Python
python实现SMTP邮件发送功能
2020/06/16 Python
python3操作mysql数据库的方法
2017/06/23 Python
PyQt5实现无边框窗口的标题拖动和窗口缩放
2018/04/19 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
python3实现钉钉消息推送的方法示例
2019/03/14 Python
Pytorch反向求导更新网络参数的方法
2019/08/17 Python
python实现证件照换底功能
2019/08/20 Python
PyTorch中Tensor的数据统计示例
2020/02/17 Python
HTML5中的Web Notification桌面右下角通知功能的实现
2018/04/19 HTML / CSS
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
十佳班主任事迹材料
2014/01/18 职场文书
写给老师的表扬信
2014/01/21 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
导游词怎么写
2015/02/04 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python
logback 实现给变量指定默认值
2021/08/30 Java/Android