В html-файле что-то не так Форма регистрации не отправляется в Django
Мой html-файл имеет некоторые проблемы, но я не могу понять, в чем проблема. Может ли кто-нибудь определить, в чем на самом деле заключается проблема.
Вот Html, который я использую:
signup.html
{% include "user/layout.html" %}
{% block content %}
<h1>Sign Up</h1>
<form method="POST">
{% csrf_token %}
{{form}}
<input class="btn login_btn" type="submit" value="Register Account">
</form>
{% endblock %}
**views.py **
from django.shortcuts import render, redirect
from . forms import create_user
# Create your views here.
def sign_up(request):
form = create_user()
if request.method == "POST":
if form.is_valid():
form.save()
return redirect("test-home")
context = {"form":form}
return render(request, "user/signup.html", context)
**urls.py **
from django.urls import path
from . import views
urlpatterns = [
path("create/", views.sign_up, name="sign_up"),
]
Я пробовал несколько других html шаблонов подписки из других видео. Только копирование их работает. Я не могу понять, где настоящая проблема.
Вы не можете валидировать форму create_user()
без привязки к данным:
def sign_up(request):
if request.method == 'POST':
form = create_user(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('test-home')
else:
form = create_user()
context = {'form': form}
return render(request, 'user/signup.html', context)
Однако я бы настоятельно советовал не называть вашу форму create_user
. Обычно класс пишется в PascalCase, а форма имеет суффикс …Form
, так что CreateUserForm
, например.