Python-Django пытается добавить пользователей в мою базу данных

#python #django #methods #user-management

#python #django #методы #управление пользователями

Вопрос:

Я новичок в Django, и я пытаюсь создать страницу, которая позволяет пользователям регистрироваться на моем сайте. Но я продолжаю получать сообщение об ошибке «Страница не найдена».

 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.
  

Вот код внутри моего HTML-файла ‘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>
  

И вот код внутри ‘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')
  

Почему он не создает нового пользователя в моей базе данных и не перенаправляет на ‘/ home’, а вместо этого переходит к ‘account / register / register’?

Заранее спасибо.

Ответ №1:

Возможно, вы дублируете маршрут с именем register
просмотрите эту конфигурацию 3. account/ register/ [name='register']