返回顶部
首页 > 资讯 > 精选 >Django debug为True时,css加载失败怎么办
  • 483
分享到

Django debug为True时,css加载失败怎么办

2023-06-14 20:06:35 483人浏览 安东尼
摘要

这篇文章给大家分享的是有关Django debug为True时,CSS加载失败怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。djanGo上线后,需要把setting.py文件的debug=True改为Fal

这篇文章给大家分享的是有关Django debug为True时,CSS加载失败怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

djanGo上线后,需要把setting.py文件的debug=True改为False,以防暴露代码报错问题。

因为我项目用到css的地方只有admin管理员登陆这块,没有自定义的css等,所以我的css文件夹名称定义成static

1.更改setting.py文件

STATIC_URL=‘/static/‘STATIC_ROOT=os.path.join(BASE_DIR,'../static/')

STATIC_URL是css的加载路径,项目中如果用到了css的地方,会沿着该路径寻找这个路径下的css文件

STATIC_ROOT是存放所有的static文件,运行 python manage.py collectionstatic命令后,Python会自动检索项目所有的目录,把static文件夹拷贝到STATIC_ROOT目录下。在部署的时候会用到。

2.执行下述命令

将所有的所有app下(包括Django自带的)static目录下的文件复制到STATIC_ROOT目录下

python manage.py collectionstatic

3.修改Nginx配置文件

添加下述代码到nginx配置文件中

location /static {    alias /Users/admin/PythonProject/static;    break;    }

server结果如下

server{        listen 8011;        server_name localhost;        rewrite ^/$/ break;        location /static {            alias /Users/admin/PythonProject/static;            break;        }            location /{            proxy_pass Http://127.0.0.1:8000;        } }

作用如下:当一个请求(例如,登陆请求 http://127.0.0.1:8011/admin/)通过nginx转发时,会首先到下面的location中,被转发到8000端口,调用Django项目中的admin登陆接口,登陆接口里面会请求两个css文件,分别是

http://127.0.0.1:8011/static/admin/css/login.css

http://127.0.0.1:8011/static/admin/css/base.css

这两个请求被上面的nginx配置中的第一个location匹配到,并且使用alias路径替换location路径,找到login.css文件和base.css文件。

(注意:location后面配置的路径,如果是以 / 结尾,那么匹配后的路径将不会带匹配中的字段,不带 / 结尾,将会带着匹配中的字段,详细的就不再赘述了)

这样,css文件就会被正确的加载上了。

补充:Django项目关闭debug模式后,静态文件无法加载的解决办法

近期在做OpenStack Horizon项目的相关开发,OpenStack的整体环境使用DevStack安装,horizon开发过程中直接使用命令:

python manager.py runserver

开启内置服务器,由于项目中local_settings.py文件中的DEBUG=True,进行开发和调试一直没什么问题。

但是现在需要编写404,500等出错页面,在debug模式下出了错都会出现报错页面,无法转向到404或500页面,这时我将local_settings.py中的DEBUG设为false,这时候应该可以转向到404页面。

实验证明确实如此,404和500页面都可以得到,但是出现了新的问题:css和js文件无法加载。

在网上找了找,很快就找到了问题的原因:

Django框架仅在开发模式下提供静态文件服务。

当我开启DEBUG模式时,Django内置的服务器是提供静态文件的服务的,所以css等文件访问都没有问题,但是关闭DEBUG模式后,Django便不提供静态文件服务了。

想一想这是符合Django的哲学的:这部分事情标准服务器都很擅长,就让服务器去做吧!

OK,解决问题的办法也就出现了,我最开始想到的就是,使用项目正式部署是所使用的配置,由apache提供静态文件服务。不过解决问题的方法远不止一种,在stackoverflow上我发现了更有趣的方法。

现在把自己总结的四种方法列在下面,共大家参考:

1.将静态文件由apache提供文件服务(类似正式部署):

编辑/etc/apache2/sites-available/horizon文件:

#Alias /media /opt/stack/horizon/openstack_dashboard/staticAlias /static /opt/stack/horizon/openstack_dashboard/static

建立静态文件链接:

ln -sv /opt/stack/horizon/openstack_dashboard/static /opt/stack/horizon

重启apache:

sudo service apache2 restart

2.使用django.views.static.serve()方法

在URLconf中添加:

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': '/path/to/media'}),

官方文档中评价这种办法:“The big, fat disclaimer”。

3.伪造404页面:

使用正确的URL链接404页面模板;

4.改变项目运行方式:

python manage.py runserver --insecure

感谢各位的阅读!关于“Django debug为True时,css加载失败怎么办”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Django debug为True时,css加载失败怎么办

本文链接: https://lsjlt.com/news/274572.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Django debug为True时,css加载失败怎么办
    这篇文章给大家分享的是有关Django debug为True时,css加载失败怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。django上线后,需要把setting.py文件的debug=True改为Fal...
    99+
    2023-06-14
  • Django debug为True时,css加载失败的解决方案
    django上线后,需要把setting.py文件的debug=True改为False,以防暴露代码报错问题。 因为我项目用到css的地方只有admin管理员登陆这块,没有自定义的c...
    99+
    2024-04-02
  • css为什么会加载失败
    css会加载失败的原因:1、网络故障引起css加载失败,比如网速慢、空间速度慢等;2、使用link标签引入css样式文件时路径不是正确的或者css代码不兼容;3、HTML页面编码与css编码不同,从而引起css加载失败。具体分析如下:网络原...
    99+
    2024-04-02
  • CSS页面为什么会加载失败
    这篇文章主要介绍了CSS页面为什么会加载失败的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS页面为什么会加载失败文章都会有所收获,下面我们一起来看看吧。   常见CSS页...
    99+
    2024-04-02
  • mysql加载驱动失败怎么办
    mysql加载驱动失败的解决方法:首先,进入mysql安装目录,并在安装目录中查找到libmysql.dll文件;libmysql.dll文件查找到后,将文件拷贝到相应驱动安装目录中的bin目录下即可;...
    99+
    2024-04-02
  • Webpack dev server热加载失败怎么办
    这篇文章主要介绍了Webpack dev server热加载失败怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。利用Webpack de...
    99+
    2024-04-02
  • Java IDE:路径加载失败,该怎么办?
    Java 是一种流行的编程语言,拥有广泛的应用场景和强大的生态系统。Java IDE 是 Java 开发者必不可少的工具之一,它提供了方便的代码编辑、编译和调试功能。但是,在使用 Java IDE 时,经常会遇到路径加载失败的问题。本文将...
    99+
    2023-07-23
    ide path load
  • forum.php下载失败怎么办
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。forum.php下载失败怎么办?具体问题:用迅雷7下载怎么都是forum.php,怎么处理?解决办法:是迅雷本身的问题,可以改用浏览器下载试试(1)找到浏览器下载选...
    99+
    2024-04-02
  • 搭建git提示java加载失败怎么办
    随着软件开发的迅猛发展,Git作为一款分布式版本控制系统已经成为许多开发人员和团队不可或缺的工具。但是,在搭建Git时,有时会遇到一些问题,比如Java加载失败的错误提示。本文将介绍这个问题的原因和解决方法。一、问题描述在安装和配置Git时...
    99+
    2023-10-22
  • css加载失败页面无法显示怎么解决
    1. 检查CSS文件路径是否正确:确保CSS文件的路径是正确的,如果路径错误,页面将无法找到CSS文件并加载它。2. 检查CSS文件...
    99+
    2023-06-13
    css加载失败 css
  • BootStrap中弹出框加载select2框架失败怎么办
    这篇文章给大家分享的是有关BootStrap中弹出框加载select2框架失败怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。bootstrap下的弹出框加载select2框...
    99+
    2024-04-02
  • mysql卸载服务失败怎么办
    mysql卸载服务失败的原因:可能是mysql服务未删除,导致卸载失败解决方法:使用组合键“win+R”运行cmd,进入命令提示符窗口;进入到命令提示符窗口后,在命令行中使用sc delete命令删除MySQL服务;sc delete my...
    99+
    2024-04-02
  • 为什么Python中的HTTP对象加载失败?
    Python是一种广泛使用的编程语言,它在Web开发中特别流行。然而,有时候,我们会遇到Python中HTTP对象加载失败的问题。这个问题可能会导致我们的应用程序不稳定,甚至完全无法使用。那么,为什么Python中的HTTP对象会加载失败呢...
    99+
    2023-09-28
    load http 对象
  • mysql添加连接失败怎么办
    mysql添加连接失败的原因:mysql为开启远程访问权限,只允许本地访问,导致添加连接失败解决方法:首先,在命令行中启动MySQL服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码...
    99+
    2024-04-02
  • mysql添加用户失败怎么办
    mysql中添加用户失败的原因:用户添加后没有对mysql的权限进行刷新,导致用户没有生效解决方法:首先,在命令行中启动MySQL服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码登...
    99+
    2024-04-02
  • Win11时间同步失败怎么办
    如果 Windows 11 的时间同步失败,您可以尝试以下解决方法:1. 手动进行时间同步:- 右键单击任务栏上的时间和日期。- 选...
    99+
    2023-08-29
    Win11
  • windows中mfc110u.dll加载失败怎么解决
    本篇内容主要讲解“windows中mfc110u.dll加载失败怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows中mfc110u.dll加载失败怎么解决”吧!方法一1、下载最...
    99+
    2023-07-04
  • php rsa加密处理失败怎么办
    这篇“php rsa加密处理失败怎么办”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php rsa加密处理失败怎么办”文章吧...
    99+
    2023-06-28
  • 浏览器中css加载失败的原因是什么
    这篇文章主要介绍了浏览器中css加载失败的原因是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇浏览器中css加载失败的原因是什么文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • css加载不出来怎么办
    css加载不出来的解决办法有检查网络连接、检查CSS文件路径、清除浏览器缓存、禁用浏览器扩展程序、检查CSS文件内容、启用网络加速工具、升级浏览器版本、检查服务器设置、使用开发者工具调试、检查代码冲突、确保CSS文件编码正确、禁用代理服务器...
    99+
    2023-11-08
    css 加载
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作