2

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

# 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 作为文件并尝试加载它。

这是错误:

raise SiteProfileNotAvailable('无法加载配置文件 ' SiteProfileNotAvailable: 无法加载配置文件模型,请检查项目设置中的 AUTH_PROFILE_MODULE

原因是我在配置文件应用程序中有很多类,它们都在不同的文件中并导入:

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

这适用于除 get_profile() 之外的所有内容。

任何解决方法的提示?

4

1 回答 1

5

有时 django 会对应用名称感到困惑,所以请确保您有:

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

这将确保可以使用 profile.UserProfile 查找配置文件

于 2012-02-01T14:21:35.287 回答