У меня есть пользовательская форма и форма профиля, как показано ниже:
from django import forms
from django.contrib.auth.models import User
from django.contrib.auth.forms import UserCreationForm
from django_countries.fields import CountryField
from .models import Profile
class RegisterUserForm(UserCreationForm):
email = forms.EmailField()
first_name = forms.CharField(max_length=30)
last_name = forms.CharField(max_length=100)
class Meta:
model = User
fields = ['username','first_name','last_name','email','password1','password2']
class RegisterProfileForm(UserCreationForm):
address = forms.CharField(max_length=120)
postcode = forms.CharField(max_length=30)
countrycode = forms.CharField(max_length=3)
class Meta:
model = User
fields = ['address','postcode','countrycode']
Они импортируются в views.py в приведенном ниже коде, и если они действительны ...
from django.shortcuts import render,redirect
from django.contrib import messages
from .forms import RegisterUserForm,RegisterProfileForm,UserUpdateForm,ProfileUpdateForm
from django.contrib.auth.decorators import login_required
def register(request):
if request.method == "POST":
u_form = RegisterUserForm(request.POST)
p_form = RegisterProfileForm(request.POST)
if u_form.is_valid and p_form.is_valid:
from django import forms
username = form.cleaned_data.get('username')
first_name = form.cleaned_data.get('first_name')
Тем не менее, когда я публикую форму, я получаю «Ошибка имени в регистре ... имя« форма »не определена», и нарушается строка кода: username = form.cleaned_data.get ('username'), другими словами как как только я ссылаюсь на form.cleaned_data, django objects.
Раньше это работало. В отчаянии я импортировал django .forms непосредственно перед обращением к forms.cleaned_data (его там не было раньше), но неудивительно, что я все еще получаю «Ошибка имени в регистре ... имя« форма »не определена».
Может кто-нибудь сказать мне, что я могу делать неправильно, или указать, что нужно проверить?