将应用程序部署到生产服务器时遇到了一些问题。如果我已设置settings.py
DEBUG = True
TEMPLATE_DEBUG = DEBUG
然后一切正常,但如果我将设置更改为:
DEBUG = False
TEMPLATE_DEBUG = DEBUG
然后我的应用程序坏了。我没有看到静态文件(js,css,...),在管理面板中我无法添加/编辑我的注册模型。 您有什么建议我如何解决这个问题?
我的轶事:
答案 0 :(得分:10)
您应该阅读:Serving static files in production.
至少听起来你依赖的是contrib.staticfiles中的帮助器视图staticfiles_urlpatterns()
,它仅用于开发:
这只有在DEBUG为True时才有效。
这是因为这种观点非常低效,而且可能不安全。 这仅适用于本地开发,不应使用 在生产中。
答案 1 :(得分:1)
我也有这个问题,我解决了。
试试
在settings.py 中
DEBUG = False
然后添加
DEBUG404 = True
ALLOWED_HOSTS = ['*'] # it works but not secure, so use
ALLOWED_HOSTS = ['localhost', 'IP adrs'] #if you are running locally, then run with python manage.py runserver --insecure.You can give your webserver here.
然后在urls.py中添加
import os
if settings.DEBUG404:
urlpatterns += patterns('',
(r'^static/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': os.path.join(os.path.dirname(__file__), 'static')} ),
)