【发布时间】:2020-04-26 09:25:01
【问题描述】:
我正在我的网站上构建自定义用户身份验证逻辑。我创建了MyUsermodel 而不是创建了表单
from django import forms
from django.contrib.auth.forms import UserCreationForm,UserChangeForm
from .models import MyUser
classCustomUserCreationForm(UserCreationForm):
class Meta:
model = MyUser
fields = ('email',)
比在项目级别的 urls.py 文件中我添加了以下路径
urlpatterns =[
path('login/',include('authorization.urls'),]
比我创建的authorization/urls.py
from django.urls import path
from .views import login_form
urlpatterns =
[path(' ',login_form,name='login_form'),]
在我的视图文件中,我有以下方法,如果 request == GET 应该返回空表单,如果表单 is_valid() 它会重定向到另一个页面
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .form import UserCreationForm
def login_form(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
email = form.cleaned_data('email')
password = form.cleaned_data('password')
return HttpResponseRedirect('/thank/')
else:
form = UserCreationForm()
return render(request,'registration/log.html',{'form':form})
最后一张是log.html
{% extends 'main/base.html' %}
<form action="{% url 'login_form' %}" method="post">
{% csrf_token %}
{{ form }}
<input type="submit" value="Submit">
</form>
但是当我运行服务器并打开http://127.0.0.1:8000/login/
我没有任何异常,也没有空表单本身
【问题讨论】:
标签: django django-templates django-views django-authentication