我试图将其他字段添加到默认用户模型。我环顾了一下互联网,做了这样的事情:

在/UserProfile/models.py中使用以下内容创建一个名为UserProfile的新模型:

from django.db import models
from django.contrib.auth.models import User

class UserProfile(models.Model):
    # This is the only required field
    user = models.ForeignKey(User, unique=True)

    # The rest is completely up to you...
    favorite_band = models.CharField(max_length=100, blank=True)
    favorite_cheese = models.CharField(max_length=100, blank=True)
    lucky_number = models.IntegerField()


并添加:

 AUTH_PROFILE_MODULE = "newSite.userprofile"


在设置中,我还向INSTALLED_APPS添加了“ UserProfile”以运行sqlall。

唯一的问题是,当我在外壳中尝试以下操作时:

 >>> from django.contrib.auth.models import User
 >>> user = User.objects.get(username = "user01")
 >>> user.get_profile()


我收到以下错误:

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Python27\lib\site-packages\django\contrib\auth\models.py", line 367,in get_profile
     raise SiteProfileNotAvailable('Unable to load the profile '

SiteProfileNotAvailable: Unable to load the profile model, check AUTH_PROFILE_MODULE in your project settings


感谢您为解决此问题提供的任何帮助!

最佳答案

如果您确实创建了一个应用程序,它的UserProfile值正确,然后将models.py放在其中,那么您应该

AUTH_PROFILE_MODULE = "userprofile.userprofile"


放入您的settings.py文件中。

您应该将UserProfile文件夹设置为小写:userprofile

关于python - 无法在Django中加载配置文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3756449/

10-12 18:38