2017-01-12 2 views
0

ミドルウェアのファイルを作成しましたが、このファイルのINSTALLED_APPSに「スーツ」を追加しようとしましたが、INSTALLED_APPSはリストにもかかわらず印刷されますが、管理ページには効果がありません。 これは、この問題を解決するために私を助けてくださいmiddleware.pyファイルにINSTALLED_APPSに動的アプリを追加するにはどうすればよいですか?

from django.core.urlresolvers import resolve 
from django.conf import settings 
from django.db.models import loading 
from django.core import management 
from django.shortcuts import redirect 
class CustomeAppMiddleware(object): 
    def process_response(self, request, response): 
     if 'admin' in request.path_info and 'suit' not in settings.INSTALLED_APPS: 
      print request.path_info 
      tmp = ('suit',)+settings.INSTALLED_APPS 
      settings.INSTALLED_APPS = tmp 
      print settings.INSTALLED_APPS 
      loading.cache.loaded = False 
      management.call_command('syncdb', interactive=False) 
     return response 

私のコードです。皆さんありがとう。

答えて

0

実行時にINSTALLED_APPSをこのように変更しないでください。

Djangoは、サーバーの起動時に一度アプリケーションを読み込みます。リクエスト中にINSTALLED_APPSを変更した場合、それが遅すぎて影響がありません。

+0

私はこの問題を手伝ってもらえますか?http://stackoverflow.com/questions/41565974/use-multi-admin-app-in-django – yasuo

+0

私は2つのURLが異なるスタイル(スーツとグラッフィー)を持つ管理サイトに行きたいです。 。ありがとうございます – yasuo

+0

申し訳ありませんが、私はその質問にお役に立てません。 – Alasdair

関連する問題