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

ミーもこの問題を抱えていたので、私はそれを解決しました。

ちょうど試して

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 に答える