웹 응용 프로그램에서 allauth를 사용하여 가입 기능을 사용했습니다. socialaccount 가입에서 사용자 전자 메일, 비밀 번호, 성과 이름에서 수집됩니다. 로그인 양식에서 나는 단지 사용자로부터 전자 메일과 암호를 수집합니다.가입 후 allauth에서 사용자 프로필 필드를 사용자 지정하는 방법
일단 로그인하면 내 앱은 사용자가 자신이 원하는 프로필 페이지 (사용자가 추가 한 '기관'으로 새 필드 및 사용자 정의 된 필드 포함)로 리디렉션됩니다. .
django-allauth의 초보자로서의 질문입니다. 새 사용자 정의 필드를 내 사용자 프로필에 추가하는 방법과 사용자가 등록한 후에 해당 데이터를 업데이트하는 방법을 알고 싶습니다.
내가 무슨 짓을했는지 지금까지 :
settings.py
my_project에서AUTH_USER_MODEL = 'auth.User'
/models.py
profile_page.html에서from django.db import models
from django.contrib.auth.models import User
class UserProfile(models.Model):
institution = models.TextField(max_length=254)
{% 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 %}
에서 코드는 분명히 inco이다. 왜냐하면 나는 필드를 추가하고 요청할 때 필드를 올바르게 저장하는 방법을 찾지 못했기 때문이다. 감사합니다