当模型不是文件而是目录时,django中的AUTH_PROFILE_MODULE值

时间:2012-02-01 04:21:11

标签: django django-models django-profiles

我有以下内容:(按预期工作)

# 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()之外的所有其他内容。

任何解决方法的提示?

1 个答案:

答案 0 :(得分:5)

有时django会对appnames感到困惑,所以请确保你有:

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

这将确保可以使用profile.UserProfile

查找配置文件