本站消息

  出租广告位,需要合作请联系站长

  今日名言-想象你自己对困难作出的反应,不是逃避或绕开它们,而是面对它们,同它们打交道,以一种进取的和明智的方式同它们奋斗 。——马克斯威尔·马尔兹

  今日名言-用谅解、宽恕的目光和心理看人、待人。人就会觉得葱笼的世界里,春意盎然,到处充满温暖。——蔡文甫


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

使用 django-allauth 时如何自定义用户配置文件

发布于2021-07-24 21:25     阅读(1011)     评论(0)     点赞(30)     收藏(5)


我有一个带有 django-allauth 应用程序的 django 项目。我需要在注册时从用户那里收集其他数据。我在这里遇到了类似的问题, 但不幸的是,没有人回答配置文件自定义部分。

根据提供的文档django-allauth

ACCOUNT_SIGNUP_FORM_CLASS(= None)

一个指向自定义表单类(例如‘myapp.forms.SignupForm’的字符串,在注册期间用于要求用户提供额外的输入(例如通讯注册、出生日期)。这个类应该实现一个‘save’方法,接受新注册的用户作为它的唯一参数。

我是 Django 的新手,正在为此苦苦挣扎。有人可以提供此类自定义表单类的示例吗?我是否需要添加一个模型类以及像这样指向用户对象的链接


解决方案


假设您想在注册期间询问用户的名字/姓氏。您需要将这些字段放入您自己的表单中,如下所示:

class SignupForm(forms.Form):
    first_name = forms.CharField(max_length=30, label='Voornaam')
    last_name = forms.CharField(max_length=30, label='Achternaam')

    def signup(self, request, user):
        user.first_name = self.cleaned_data['first_name']
        user.last_name = self.cleaned_data['last_name']
        user.save()

然后,在您的设置中指向此表单:

ACCOUNT_SIGNUP_FORM_CLASS = 'yourproject.yourapp.forms.SignupForm'

就这样。



所属网站分类: 技术文章 > 问答

作者:官方问答小能手

链接:http://www.pythonpdf.com/blog/article/252/0ad98473a882dd85087c/

来源:编程知识网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

30 0
收藏该文
已收藏

评论内容:(最多支持255个字符)