gpt4 book ai didi

django-registration 和用户配置文件创建

转载 作者:行者123 更新时间:2023-12-04 10:59:00 27 4
gpt4 key购买 nike

在我的应用程序中,我有 AUTH_PROFILE_MODULE设置为 users.UserProfile .此 UserProfile 具有功能 create当新用户注册时应该调用它,然后创建 UserProfile 条目。

根据 django-registration 文档,所有需要做的就是设置 profile_callback在我的 urls.py 中输入。我的看起来像这样:

url(r'^register/$', register, {'form_class': RecaptchaRegistrationForm,
'profile_callback': UserProfile.objects.create,
'backend': 'registration.backends.default.DefaultBackend',},
name='registration_register')

但我收到此错误:

Exception Value: register() got an unexpected keyword argument 'profile_callback'



那么我必须把它放在哪里才能让它工作呢?

最佳答案

您使用的是哪个版本的 django-registration?您指的是哪个版本的 django-registration?我不知道这个 profile_callback。

实现您正在寻找的另一种方法是使用 Django 信号 (http://docs.djangoproject.com/en/dev/topics/signals/)。 django-registration 应用程序提供了一些。

实现这一点的一种方法是在您的项目(或应用程序)中创建一个 signals.py 并连接到文档中所说的信号。然后将信号模块导入您的初始化 .py 或 urls.py 文件,以确保在您的项目运行时读取它。

以下示例使用 post_save 信号完成,但您可能希望使用 django-registration 提供的信号。

from django.db.models.signals import post_save
from userprofile.models import UserProfile
from django.contrib.auth.models import User

def createUserProfile(sender, instance, **kwargs):
"""Create a UserProfile object each time a User is created ; and link it.
"""
UserProfile.objects.get_or_create(user=instance)

post_save.connect(createUserProfile, sender=User)

关于django-registration 和用户配置文件创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1909617/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com