如果启用调试,Django静态文件将停止工作

如果启用调试,Django静态文件将停止工作,第1张

概述urlpatterns = patterns('', # Examples: url(r'^$', 'core.views.homepage', name='homepage'), url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT
urlpatterns = patterns('',# Examples:    url(r'^$','core.vIEws.homepage',name='homepage'),url(r'^static/(?P<path>.*)$','django.vIEws.static.serve',{'document_root': settings.STATIC_ROOT}),)

那是我的urls.py

如果我禁用DEBUG,静态文件可以正常工作,如果我重新打开它,则不起作用.

我的部分设置

STATIC_ROOT = os.path.join(PROJECT_ROOT,'static')# URL prefix for static files.# Example: "http://media.laWrence.com/static/"STATIC_URL = '/static/'# URL prefix for admin static files -- CSS,JavaScript and images.# Make sure to use a trailing slash.# Examples: "http://foo.com/static/admin/","/static/admin/".admin_MEDIA_PREFIX = '/static/admin/'# Additional locations of static filesSTATICfileS_Dirs = (    # Put strings here,like "/home/HTML/static" or "C:/www/django/static".    # Always use forward slashes,even on windows.    # Don't forget to use absolute paths,not relative paths.)# List of finder classes that kNow how to find static files in# varIoUs locations.STATICfileS_FINDERS = (    'django.contrib.staticfiles.finders.fileSystemFinder','django.contrib.staticfiles.finders.AppDirectorIEsFinder',#    'django.contrib.staticfiles.finders.DefaultStorageFinder',)

对我来说真的很奇怪,任何人都可以帮忙吗?

解决方法 不,Django不提供STATIC_ROOT.在生产(调试关闭)中,您的Web服务器应该直接为此目录提供服务.在开发(deBUG on)中,不管怎样,你不应该有这个目录或任何东西.

让我再说一遍强调.您永远不应该直接在STATIC_ROOT中保存任何资产.此目录仅用于collectstatic管理命令的输出.项目中的所有资产都应该保存在它所属的特定应用程序的静态目录中.

当然,现在,您通常拥有与单个应用程序无直接关系的资产,而是整个项目的整个项目.对于此方案,您在项目中创建一个单独的目录,并将所有公共资源放在那里.然后,将此目录添加到STATICfileS_Dirs设置.

在开发中,Django将为该目录中的任何内容提供服务,而在生产中,collectstatic管理命令会将该目录中的资产拉入STATIC_ROOT.

总结

以上是内存溢出为你收集整理的如果启用调试,Django静态文件将停止工作全部内容,希望文章能够帮你解决如果启用调试,Django静态文件将停止工作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1195751.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存