4

我在将应用程序部署到生产服务器时遇到了一些问题。如果我在 settings.py 中设置

DEBUG = True
TEMPLATE_DEBUG = DEBUG

那么一切正常,但如果我将设置更改为:

DEBUG = False
TEMPLATE_DEBUG = DEBUG

然后我的应用程序坏了。我没有看到静态文件(js、css、...),并且在管理面板中我无法添加/编辑我的注册模型。你有什么建议我该如何解决这个问题?

我的环境:

  • Python 2.7.3
  • Django 1.4.1
  • Nginx 1.2.3
  • uwsgi 1.3
4

2 回答 2

10

您应该阅读:在生产中提供静态文件。

至少听起来您依赖于staticfiles_urlpatterns()contrib.staticfiles 中的帮助视图,该视图仅用于开发:

这仅在 DEBUG 为 True 时有效。

那是因为这种观点非常低效并且可能不安全。这仅用于本地开发,绝不能在生产中使用。

于 2012-10-07T21:36:54.487 回答
1

Mee也有这个问题,我解决了。

试试看嘛

在 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')} ),
    )
于 2014-01-31T10:03:24.093 回答