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命令行参数解析模块getopt使用实例
Apr 13 Python
介绍Python中的fabs()方法的使用
May 14 Python
深入理解Python中的内置常量
May 20 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
Aug 02 Python
python+Splinter实现12306抢票功能
Sep 25 Python
python numpy元素的区间查找方法
Nov 14 Python
python开发准备工作之配置虚拟环境(非常重要)
Feb 11 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
Feb 28 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
Mar 14 Python
python opencv 读取图片 返回图片某像素点的b,g,r值的实现方法
Jul 03 Python
redis数据库及与python交互用法简单示例
Nov 01 Python
python引入其他文件夹下的py文件具体方法
May 23 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
跟我学Laravel之路由
2014/10/15 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
双冒号 ::在PHP中的使用情况
2015/11/05 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
jquery中ajax学习笔记4
2011/10/16 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
[02:32]DOTA2英雄基础教程 祸乱之源
2013/12/23 DOTA
让 python 命令行也可以自动补全
2014/11/30 Python
python 性能提升的几种方法
2016/07/15 Python
Python实现Sqlite将字段当做索引进行查询的方法
2016/07/21 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
Python递归函数定义与用法示例
2017/06/02 Python
Python 经典面试题 21 道【不可错过】
2018/09/21 Python
python3 打开外部程序及关闭的示例
2018/11/06 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
Python 图像处理: 生成二维高斯分布蒙版的实例
2019/07/04 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
python 公共方法汇总解析
2019/09/16 Python
使用 Python 处理3万多条数据只要几秒钟
2020/01/19 Python
python如何实现图片压缩
2020/09/11 Python
python如何使用腾讯云发送短信
2020/09/17 Python
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
2016/03/17 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
20年同学聚会邀请函
2014/02/04 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
满月酒主持词
2014/03/27 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
创先争优活动承诺书
2014/08/30 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技