解决:django设置DEBUG=false时出现的问题

首先,我用的是django4.2,python3.10版本

本来,如果在settings.py中使用 DEBUG = True,那么什么问题也没有,当然,这属于调试模式。

DEBUG = True
TEMPLATE_DEBUG = DEBUGSTATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static").replace('\\', '/')
]

 

一切正常.....

但是,当我准备提交代码时,将 DEBUG 改为 False 时.....

DEBUG = False
TEMPLATE_DEBUG = DEBUG

好好的admin界面,变成了这样....

而且,好好的静态资源,也没法访问了:

 

 郁闷啊.....

网上的帖子,关于这方面的也比较多....

我看的是这一篇:彻底解决:django设置DEBUG=false时导致静态文件丢失问题_云霄IT的博客-CSDN博客

 实践一下吧...

DEBUG = False
TEMPLATE_DEBUG = DEBUG# STATIC_URL = '/static/'
# STATICFILES_DIRS = [
#     os.path.join(BASE_DIR, "static").replace('\\', '/')
# ]
STATIC_ROOT = os.path.join(BASE_DIR, "static")

再urls.py中添加点东西:

from django.urls import path, include, re_path
from django.views import static
from django.conf import settings
from . import siteconfig as siteconfigurlpatterns = [re_path(r'^js/(?P<path>.*)$', static.serve,{'document_root': siteconfig.JS_DIR}),re_path(r'^css/(?P<path>.*)$', static.serve,{'document_root': siteconfig.CSS_DIR}),re_path(r'^images/(?P<path>.*)$', static.serve,{'document_root': siteconfig.IMAGE_DIR}),re_path(r"^static/(?P<path>.*)$", static.serve,{"document_root": settings.STATIC_ROOT}, name='static'),
]

然后,就变成了这样....

好吧....静态资源确实能访问了.....但是.....他喵的,admin界面都没了....就没了....就他喵的,没了....

好痛苦啊.....

这个时候,想着有没有一种可能,DEBUG = True 的时候,settings.py 那几项,不用注释掉,大家共存下,可好?

DEBUG = False
TEMPLATE_DEBUG = DEBUGSTATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static").replace('\\', '/')
]
STATIC_ROOT = os.path.join(BASE_DIR, "static")

结果,好像,不太好....

django不让搞共存啊....

最后,突然发现....错误只说 STATICFILES_DIRS 不准和 STATIC_ROOT 共存,没说 STATIC_URL 不让共存啊....

那这样呢....

DEBUG = False
TEMPLATE_DEBUG = DEBUGSTATIC_URL = '/static/'
# STATICFILES_DIRS = [
#     os.path.join(BASE_DIR, "static").replace('\\', '/')
# ]
STATIC_ROOT = os.path.join(BASE_DIR, "static")

于是乎....

 

啥都好了....哎....

好吧,特此记录吧....网上的帖子不是说就是错的....只是说,对于Django4.2.3,python3.10这个搭档来说,其实主要还是对 django4.2 这个曾新瓦亮的版本来说,是真的行不通啊.....千万别干掉 STATIC_URL 参数....有它在就是晴天啊.... 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/62988.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java SPI机制详解-01

1. 概述 SPI&#xff08;Service Provider Interface&#xff09;&#xff0c;是 Java 6 引入了一个内置功能&#xff0c;实现服务提供发现和加载机制&#xff0c;使之与特定接口的匹配。 SPI 机制的核心思想就是 解耦 &#xff0c;将装配的控制权移到程序之外&#xff0c;这…

数学符号说明——三角等号(≜)

三角等号 &#xff0c;LaTex语法宏 (\triangleq&#xff09;&#xff0c;Unicode(U225C)&#xff0c;又称 "delta equal to(Δ 等)"。可以读作 "等于"、"根据定义 x 等于 y "。 有时候&#xff0c;用在数学(和物理学)的某种定义中。例如&#…

9.2.1Socket(UDP)

一.传输层: 1.UDP:无连接,不可靠,面向数据报,全双工. 2.TCP:有连接,可靠,面向字节流,全双工. 注意:这里的可不可靠是相对的,并且和安不安全无关. 二.UDP数据报套接字编程: 1.socket文件:表示网卡的这类文件. 2.DatagramPacket:表示一个UDP数据报. 三.代码实现: 1.回显服务…

通过PostMan监视提交文件,验证web文件传输

切换文件流,传输文件 找到图片地址 发送请求然后接受 再来一张 哈&#xff0c;谢谢各位同志的阅读&#xff0c;然后呢如果觉得本文对您有所帮助的话&#xff0c;还给个免费的赞捏 Thanks♪(&#xff65;ω&#xff65;)&#xff89;

Azure Kinect DK + ROS1 Noetic使用教程

作者&#xff1a; Herman Ye Galbot Auromix 版本&#xff1a; V1.0 测试环境&#xff1a; Ubuntu20.04 更新日期&#xff1a; 2023/08/08 注1&#xff1a; 本文内容中的硬件由 Galbot 提供支持。 注2&#xff1a; Auromix 是一个机器人爱好者开源组织。 注3&#xff1a; 本文在…

Java基础入门篇——修饰符

在Java中&#xff0c;修饰符&#xff08;Modifiers&#xff09;是一种用于修改类、方法、变量和其他实体的访问权限、行为或特性的关键字。Java提供了一组修饰符&#xff0c;可以用于实现对代码的封装、继承、多态和访问控制等功能。 1、访问修饰符&#xff08;Access Modifie…

腾讯云轻量应用服务器地域怎么选?上海广州北京?

腾讯云轻量应用服务器地域是指轻量服务器数据中心所在的地理位置&#xff0c;如上海、广州和北京等地域&#xff0c;如何选择地域&#xff1f;地域的选择建议就近原则&#xff0c;用户距离轻量服务器地域越近&#xff0c;网络延迟越低&#xff0c;速度就越快&#xff0c;根据用…

什么是BFC?它有什么作用?如何创建BFC?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是BFC⭐ BFC的作用⭐ 创建BFC的方法⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff01;这个专栏是为那些对Web…

springboot生成表结构和表数据sql

需求 业务背景是需要某单机程序需要把正在进行的任务导出&#xff0c;然后另一台电脑上单机继续运行&#xff0c;我这里选择的方案是同步SQL形式&#xff0c;并保证ID随机&#xff0c;多个数据库不会重复。 实现 package com.nari.web.controller.demo.controller;import cn…

ESP 32 蓝牙虚拟键盘链接笔记本电脑的键值问题

由于打算利用esp32 通过蓝牙链接电脑后实现一些特俗的键盘功能&#xff0c;所以就折腾了一下&#xff0c;折腾最耗费时间的却是键值问题&#xff0c;让一个20多年的老司机重新补充了知识 过程曲折就不说了&#xff0c;直接说结果。 我们通过网络搜索获取的键值和蓝牙模拟键盘传…

数据通信——VRRP

引言 之前把实验做了&#xff0c;结果发现我好像没有写过VRRP的文章&#xff0c;连笔记都没记过。可能是因为对STP的记忆&#xff0c;导致现在都没忘太多。 一&#xff0c;什么是VRRP VRRP全名是虚拟路由冗余协议&#xff0c;虚拟路由&#xff0c;看名字就知道这是运行在三层接…

【软件测试】Linux环境Ant调用Jmeter脚本并且生成测试报告(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 准备工作 需要在…