首页 >> 大全

Django部署时设置Debug=False时

2023-11-18 大全 33 作者:考证青年

一、后台管理系统央视丢失

的生产环境不同开发环境,在生产环境下(DEBUG=False),.. 是不起任何作用的,也就说 .. 只对开发环境(DEBUG=True)开启。所以会导致样式丢失现象。

解决方案:

1.在.py中添加如下配置:

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

2.修改主项目中的urls.py文件中添加如下语句:

urlpatterns = [ url(r'^media/(?P.*)$', serve, {'document_root': MEDIA_ROOT}),url(r'^static/(?P.*)$', serve, {'document_root': STATIC_ROOT}),
]+ static(MEDIA_ROOT, document_root=MEDIA_ROOT)

3.在控制台输入如下命令:

此时,的后台管理将会恢复样式。

二、静态文件和图片加载不出来?

1.在中分别配置文件和图片的路径:

STATIC_URL = '/static/'
# 该目录下面的文件会被当成静态文件进行处理 STATIC_ROOT 是在部署的时候才发挥作用
STATIC_ROOT = os.path.join(BASE_DIR,'static')MEDIA_URL = '/media/'MEDIA_ROOT = os.path.join(BASE_DIR,'media')

2.在 中添加一个上下文环境 ‘...media’, 这个会自动的把 注册到前端的模板中的 没有这个上下文环境在前端是没有显示的:

TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',# 处理静态问题件'django.template.context_processors.media'],},},
]

3.导入url模块
from django.conf.urls import url
from django.conf.urls.static import static
from django.views.static import serve
urlpatterns = [ url(r'^media/(?P.*)$', serve, {'document_root': MEDIA_ROOT}),url(r'^static/(?P.*)$', serve, {'document_root': STATIC_ROOT}),
]+ static(MEDIA_ROOT, document_root=MEDIA_ROOT)

此时,静态文件和图片就可以加载出来了。

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了