在生产和环境中出于安全性问题,我们需要将setting.py文件中的DEBUG设置为false,这时后台管理页面样式会丢失。
问题如图:
问题原因:
django的生产环境不同开发环境,在生产环境下(DEBUG=False),django.contrib.staticfiles不起作用,也就是说django.contrib.staticfiles只对开发环境(DEBUG=True)生效,所以导致后台样式丢失。
只需在setting.py文件最后添加
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
之后在主文件urls.py的urlpatterns中添加代码如下
urlpatterns = [
path('', include('polls.urls')),
path('hs/', admin.site.urls),
#如下为添加代码
re_path('static/(?P.*)' , serve, {'document_root':settings.STATIC_ROOT})
]
虽然之后两行代码却花费了好几个小时,在网上搜了好多解决办法,虽然不知道其中的原理,希望下次再遇到这种问题可帮助到自己。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)