错误发生在views.py文件中,当我试图导入我从forms.py文件创建的表单类时,我得到了一个错误。。。
Import ".forms" could not be resolved
以下是我的views.py文件的样子:
from django.shortcuts import render, redirect
from .forms import RegisterForm
# Create your views here.
def register(response):
if response.method == "POST":
form = RegisterForm(response.POST)
if form.is_valid():
form.save()
return redirect("/home")
else:
form = RegisterForm()
return render(response,"register/register.html",{"form":form})
这是我的forms.py文件
from django import forms
from django.contrib.auth import login, authenticate
from django.contrib.auth import forms
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class RegisterForm(UserCreationForm):
email = forms.EmailField()
class Meta:
model = User
fields = ["username", "email", "password1", "password2"]
为什么我会犯那个错误/我错过了什么?
您的问题来自于导入"从django.contrib.auth导入表单"所以我想,当你评论或删除它时,一切都会好起来的!。
from django import forms
from django.contrib.auth import login, authenticate
# This is where your problem stems "from django.contrib.auth import forms"
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.models import User
class RegisterForm(UserCreationForm):
email = forms.EmailField()
class Meta:
model = User
fields = ["username", "email", "password1", "password2"]
在你看来,保存表单后,条件语句不符合条件,因此它不会重定向到主页,你需要将重定向放在表单.save((的正下方,它才能满足条件,就像我所做的那样。
def register(request):
if request.method == "POST":
form = RegisterForm(request.POST)
if form.is_valid():
form.save()
return redirect("/home")
else:
form = RegisterForm()
return render(request,"register/register.html",{"form":form})