0

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.

1 Answers1

0

Maybe you are duplicating the route named register
review this config 3. account/ register/ [name='register']

Galalen
  • 64
  • 1
  • 7