My html file have some issues but I can’t figure it out what the problem actually is.
Can anyone Identify what really the problem is.
Here is Html I’m using:
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"),
]
I have tried some other html sign up templates from other videos. Only copying them works. I can’t figure out where the real problem is.
1
You can not validate the create_user()
form without binding it to the data:
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)
I would however strongly advise not to name your form create_user
. Typically a class is written in PascalCase, and a form has a …Form
suffix, so CreateUserForm
for example.