0

Django1.4とapache2に問題があります。私は次のコードを持っています:

from django.db import models
from django.contrib.auth.models import User, SiteProfileNotAvailable
from django.conf import settings

....
*.... so many includes....*
.....

try:
    app_label, model_name = settings.AUTH_PROFILE_MODULE.split('.')
    Profile = models.get_model(app_label, model_name)
except (ImportError, ImproperlyConfigured):
    raise SiteProfileNotAvailable

if not Profile:
    raise SiteProfileNotAvailable

プロファイル:ステートメントでない場合は、以下のSiteProfileNotAvailableエラーが発生します。これは、models.get_modelがプロファイルモデルの取得に失敗したことを意味します。私のローカルテスト環境の同じコードは大いに機能します。何がうまくいかない可能性がありますか?

編集:私のAUTH_PROFILE_MODULEはsettings.pyファイルで次のとおりです。

AUTH_PROFILE_MODULE = 'profile.Profile'
4

2 に答える 2

0

おそらく、このようにテストを変更する必要があります(ifステートメントでテスト用にすでにインスタンス化されている変数を使用します)。変数のテストでありFalse、そのテストのようにNone評価しています。False

model_found = False

try:
    app_label, model_name = settings.AUTH_PROFILE_MODULE.split('.')
    Profile = models.get_model(app_label, model_name)
    model_found = True
except (ImportError, ImproperlyConfigured):
    raise SiteProfileNotAvailable

if not model_found:
    raise SiteProfileNotAvailable
于 2012-12-12T20:00:11.050 に答える
0

プロファイルモデルの名前をuprofileに変更しました(現在はuprofile.uprofileのようになっています)。すべてが機能しました。

于 2012-12-28T04:52:40.210 に答える