I'm new to Django and I'm trying to create a page that allows users to register to my website. But I keep getting a page not found error.
Using the URLconf defined in myapp.urls, Django tried these URL patterns, in this order:
1. admin/
2. home [name='home']
3. account/ register/ [name='register']
The current path, account/register/register, didn't match any of these.
Here's the code inside my html file 'register.html':
<form action = 'register' method = "POST">
{% csrf_token %}
<input type='text' name='first_name' placeholder = "First Name"><br>
<input type='text' name='last_name' placeholder = "Last Name"><br>
<input type='text' name='username' placeholder = "Username"><br>
<input type='password' name='password' placeholder = "Password"><br>
<input type='Submit' placeholder='Submit'>
</form>
And here's the code inside 'myapp.views':
from django.shortcuts import render, redirect
from django.contrib.auth.models import User, auth
def register(request):
if request.method == 'POST':
first = request.POST['first_name']
last = request.POST['last_name']
usern = request.POST['username']
passw = request.POST['password']
user = User.objects.create_user(first_name = first, last_name = last, username = usern, password = passw)
user.save()
return redirect('/home')
else:
return render(request, 'register.html')
Why doesn't it create a new user in my database and redirect to '/home', and instead go to 'account/register/register'?
Thanks in advance.