Django注册配置文件字段

Django注册配置文件字段,django,django-models,django-signals,django-registration,Django,Django Models,Django Signals,Django Registration,我试图在django注册中向用户的配置文件添加位置字段 我添加了以下模型: # in userprofile/models.py class Profile(models.Model): user = models.ForeignKey(User, unique=True) location = models.CharField(max_length=100, blank=True) # in settings.py AUTH_PROFILE_MODULE = 'userpro

我试图在django注册中向用户的配置文件添加位置字段

我添加了以下模型:

# in userprofile/models.py
class Profile(models.Model):
    user = models.ForeignKey(User, unique=True)
    location = models.CharField(max_length=100, blank=True)

# in settings.py
AUTH_PROFILE_MODULE = 'userprofile.Profile'
这是有效的--
get_profile()
在我手动将数据添加到数据库中时有效。但是,我很难弄清楚如何通过信号在注册期间添加配置文件信息。这就是我目前拥有的:

# in backend/default/__init__.py
def register(self, request, **kwargs):
    username, email, password = kwargs['email'], kwargs['email'], kwargs['password1']
    if Site._meta.installed:
        site = Site.objects.get_current()
    else:
        site = RequestSite(request)
    new_user = RegistrationProfile.objects.create_inactive_user(username, email, password, site)
    signals.user_registered.send(sender=self.__class__,
                                 user=new_user,
                                 request=request)

    # how to add 'location = USA' to profile via signals here?

    return new_user
如何使用上述
\uuu init\uuuuuuuuuupy
函数中的信号添加
location=USA

在settings.py add

LOCATION = 'USA'
in _uuu _uuuu.py

# in backend/default/__init__.py
def register(self, request, **kwargs):

    username, email, password = kwargs['email'], kwargs['email'], kwargs['password1']
    if Site._meta.installed:
        site = Site.objects.get_current()
    else:
        site = RequestSite(request)
    import settings
    if settings.LOCATION:
        location = settings.LOCATION
    new_user = RegistrationProfile.objects.create_inactive_user(username, location, email, password, site)
    signals.user_registered.send(sender=self.__class__,
                                 user=new_user,
                                 request=request)


    return new_user
但这不是一个很好的方法,添加应用程序代码