2012-02-01 3 views
2

я следующее: (он работал, как и ожидалось)значение AUTH_PROFILE_MODULE в Джанго, когда модели не является файлом, но каталог

# In <..>/profile/models.py 
class UserProfile() 
#In settings.py 
AUTH_PROFILE_MODULE = "profile.UserProfile" 

я следующее: (не работает)

# In <..>/profile/models/__init__.py 
class UserProfile() 
AUTH_PROFILE_MODULE = "profile.UserProfile" 

Кажется, что get_profile() вызывает get_model, который ищет models.py в качестве файла и пытается загрузить его.

Здесь ошибка:

рейз SiteProfileNotAvailable («Невозможно загрузить профиль» SiteProfileNotAvailable: Не удалось загрузить модель профиля, проверьте AUTH_PROFILE_MODULE в настройках проекта

Причина заключается в том, что у меня есть много классов в приложении профиля и все они находятся в разных файлах и импортированы в:.

<..>/profile/models/__init__.py 

Это работает для всего остального, но get_profile()

Любые намеки об обходном пути?

+0

Вы упомянули, что вы переехали AUTH_PROFILE_MODULE = «profile.UserProfile» к модулю <..> /profile/models/__init__.py, но сохранил ли вы его также в модуле settings.py? импортировать параметры и посмотреть, определены ли параметры.AUTH_PROFILE_MODULE и какое значение вы ожидаете. – Meitham

ответ

5

иногда Джанго запутаться appnames, поэтому убедитесь, что у вас есть:

class UserProfile(Model): 
    .... 
    class Meta: 
     app_label = 'profile' 

Это удостоверится профиль можно посмотреть с profile.UserProfile

+0

Это «app_label», а не «app_name». –

+1

спасибо, фиксированный ответ – Thomas

 Смежные вопросы

  • Нет связанных вопросов^_^