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计算已经过去多少个周末的方法
Jul 25 Python
Python编程之Re模块下的函数介绍
Oct 28 Python
5款非常棒的Python工具
Jan 05 Python
解读python logging模块的使用方法
Apr 17 Python
详解Python发送email的三种方式
Oct 18 Python
Pyqt5 实现跳转界面并关闭当前界面的方法
Jun 19 Python
Python3 sys.argv[ ]用法详解
Oct 24 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
Python 列表中的修改、添加和删除元素的实现
Jun 11 Python
Python使用jpype模块调用jar包过程解析
Jul 29 Python
Jupyter notebook 不自动弹出网页的解决方案
May 21 Python
Python编程根据字典列表相同键的值进行合并
Oct 05 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 实例化类的一点摘记
2008/03/23 PHP
php图片加水印原理(超简单的实例代码)
2013/01/18 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
javascript学习笔记之10个原生技巧
2014/05/21 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
2015/11/25 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
nodejs中全局变量的实例解析
2017/03/07 NodeJs
移动端刮刮乐的实现方式(js+HTML5)
2017/03/23 Javascript
Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
2017/05/28 Javascript
浅析JS抽象工厂模式
2017/12/14 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
使用Vue如何写一个双向数据绑定(面试常见)
2018/04/20 Javascript
vue实现点击关注后及时更新列表功能
2018/06/26 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
2019/07/13 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
2019/11/04 Javascript
JavaScript实现简单的弹窗效果
2020/05/19 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
Python基于scrapy采集数据时使用代理服务器的方法
2015/04/16 Python
Python实现修改文件内容的方法分析
2018/03/25 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
python爬虫获取新浪新闻教学
2018/12/23 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
2018/12/31 Python
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
linux面试题参考答案(6)
2014/08/29 面试题
外贸业务员求职信范文
2013/12/12 职场文书
会计电算化毕业生自荐信
2014/03/03 职场文书
基层党员对照检查材料
2014/09/24 职场文书
幼儿园小班见习报告
2014/10/31 职场文书
团组织推荐意见
2015/06/05 职场文书
巴黎圣母院读书笔记
2015/06/26 职场文书
团队执行力培训心得体会
2015/08/15 职场文书
少先大队干部竞选稿
2015/11/20 职场文书
大学组织委员竞选稿
2015/11/21 职场文书