Добавление поля вручную в форму DJango
Я делаю систему входа-регистрации на django, я хочу, чтобы данные моих форм сохранялись во встроенной таблице "User" и в моей пользовательской таблице "coders" вместе. Моя форма имеет 6-7 полей, которые я хочу вставить в пользовательскую таблицу "coders". но я хочу вставить только "username" и "password" в таблицу "User". Я не могу понять, как я могу отделить "имя пользователя" и "пароль" от "FORM". Вот мой код
def f1(request):
form = codersform()
form2 = User()
if request.method == 'POST':
form = codersform(request.POST)
if form.is_valid:
form.save()
form2 = coders.objects.filter('name', 'pasw')#Getting Error
form2.save()#in these two part
user = form.cleaned_data.get('name')
messages.success(
request, "Account Created Successfully For " + user)
return redirect('login')
else:
messages.error(request, "Please Fill Out All Fields Correctly")
return render(request, 'signup.html', {'form': form})
Код формы
<form action="" method="POST" class="register-form" id="register-form">
{% csrf_token %}
<div class="form-group">
<label for="name"><i class="zmdi zmdi-account material-icons-name"></i></label>
{{form.name}}
</div>
<div class="form-group">
<label for="matid"><i class="zmdi zmdi-account-box"></i></label>
{{form.matid}}
</div>
<div class="form-group">
<label for="phone"><i class="zmdi zmdi-phone"></i></label>
{{form.phone}}
</div>
<div class="form-group">
<label for="Semester"><i class="zmdi zmdi-star"></i></label>
{{form.semester}}
</div>
<div class="form-group">
<label for="Cf"><i class="zmdi zmdi-code"></i></label>
{{form.Cf}}
</div>
<div class="form-group">
<label for="email"><i class="zmdi zmdi-email"></i></label>
{{form.email}}
</div>
<div class="form-group">
<label for="pass"><i class="zmdi zmdi-lock"></i></label>
{{form.pasw}}
</div>
<div class="form-group">
<input type="checkbox" name="agree-term" id="agree-term" class="agree-term" />
<label for="agree-term" class="label-agree-term"><span><span></span></span>I agree all statements in <a href="#" class="term-service">Terms of service</a></label>
</div>
<div class="form-group form-button">
<input type="submit" name="signup" id="signup" class="form-submit" value="Register"/>
</div>
</form>
Спасибо :)
Я не вижу поля имени пользователя в полях формы, возможно, вы используете имя для имени пользователя...
для создания объекта User необходимо предоставить все обязательные поля объекта User
Попробуйте этот модифицированный код:
def f1(request):
form = codersform()
if request.method == 'POST':
form = codersform(request.POST)
if form.is_valid:
form.save()
User.objects.create(username=form.cleaned_data['name'],password=form.cleaned_data['pasw']
messages.success(
request, "Account Created Successfully For " + user)
return redirect('login')
else:
messages.error(request, "Please Fill Out All Fields Correctly")
return render(request, 'signup.html', {'form': form})