注册后如何在allauth中自定义用户配置文件字段

时间:2016-11-25 19:40:14

标签: django django-allauth

我在我的网络应用程序中使用了allauth注册功能。在socialaccount注册是从用户收集的电子邮件,密码,名字和姓氏。在登录表单中,我只是收集用户的电子邮件和密码。

一旦记录,我的应用程序会将用户重定向到个人资料页面,他/她应该更新她的个人资料(包括新的和自定义的字段,如我添加的“机构”),如果他/她想要这样做的话。

作为django-allauth的初学者的问题,我想知道如何将这些新的自定义字段添加到我的用户配置文件中,以及如何在用户注册后更新这些数据。

到目前为止我做了什么:

在settings.py中

AUTH_USER_MODEL = 'auth.User'

在my_project / models.py

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

class UserProfile(models.Model):

    institution = models.TextField(max_length=254)

在profile_page.html

{% extends 'base.html' %}
{% block title %}Profile Page{%endblock title%}

{% if user.is_authenticated %}

{%block body%}

    <div class="col-md-6" >
        <div class="panel panel-default">
            <div class="panel-body">
                <h1 class="text-center"><b>MY ONTOLOGIES</b></h1><br>
            </div>
        </div>
    </div>
    <div class="col-md-6" >
        <div class="panel panel-default">
            <div class="panel-body">
                <h1 class="text-center"><b>MY PROFILE</b></h1><br>
                    <div class="form-group">
                        {% csrf_token %}
                        <label for="id_login" class="col-sm-2 control-label">E-mail:</label>
                        <div class="col-sm-10">
                            <input type="email" id="asd" value="{{user.email}}" name="login"   class="form-control" required />
                        </div><br><br>
                        <label for="first_name" class="col-sm-2 control-label">First Name:</label>
                        <div class="col-sm-10">
                            <input type="text" id="id_first_name" value="{{user.first_name}}" name="first_name" class="form-control" required />
                        </div><br><br>
                        <label for="last_name" class="col-sm-2 control-label">Last Name:</label>
                        <div class="col-sm-10">
                            <input type="text" id="id_last_name" value="{{user.last_name}}" name="last_name" class="form-control" required />
                        </div><br><br>
                        <label for="institution" class="col-sm-2 control-label">Institution:</label>
                        <div class="col-sm-10">
                            <input type="text" id="id_institution" value="{{user.institution}}" name="institution" class="form-control" placeholder="University/Company" required />
                        </div><br><br>
                        <label for="id_password1" class="col-sm-2 control-label">New Password:</label>
                        <div class="col-sm-10">
                            <input class="form-control" id="id_password1" name="password1" placeholder="New Password" type="password" />
                        </div><br><br>
                        <label class="col-sm-2" for="id_password2">New Password (again):</label>
                        <div class="col-sm-10">
                            <input class="form-control" id="id_password2" name="password2" placeholder="New Password (again)" type="password" />
                        </div>

                    </div>
            </div>
        </div>
    </div>

{%endblock body%}

{% endif %}

代码显然不完整,因为我找不到添加字段的方法并按照我的要求正确保存它们。感谢

0 个答案:

没有答案