新用户无法创建帐户,登录和注册URL将重定向到同一页面Django

新用户无法创建帐户,登录和注册URL将重定向到同一页面Django,django,django-models,django-forms,django-views,django-templates,Django,Django Models,Django Forms,Django Views,Django Templates,我正在尝试使用Django构建一个简单的身份验证系统。“帐户”上的登录和注册URL都将重定向到同一登录页面。当我以管理员身份登录后,我会被重定向到注册页面。在注册页面中,我无法注册新帐户。请告诉我我错过了什么 url.py-login from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path

我正在尝试使用Django构建一个简单的身份验证系统。“帐户”上的登录和注册URL都将重定向到同一登录页面。当我以管理员身份登录后,我会被重定向到注册页面。在注册页面中,我无法注册新帐户。请告诉我我错过了什么

url.py-login

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('accounts.urls'))
]
url.py-accounts

from django.urls import path
from . import views
from django.contrib.auth.views import LoginView, LogoutView

urlpatterns = [
    path('', views.indexView, name = "home"),
    path('dashboard/', views.dashboardView, name = "dashboard"),
    path('login/', LoginView.as_view(), name = "login_url"),
    path('register/',views.registerView, name = "register_url"),
    path('logout/', LogoutView.as_view(next_page='dashboard'), name = "logout"),
]
views.py

from django.shortcuts import render, redirect
from django.contrib.auth.forms import UserCreationForm
from django.contrib.auth.decorators import login_required

# Create your views here.
def indexView(request):
    return render(request, 'index.html')

def dashboardView(request):
    return render(request, 'dashboard.html')

@login_required
def registerView(request):
    if request.method == "POST":
        form = UserCreationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('login_url')
    else:
        form = UserCreationForm()

    return render(request, 'registration/register.html', {'form':form})
index.html

    <!DOCTYPE html>
<html>
<head>
    <title>Petrol Pump Management System</title>
</head>
<body>
    {% block content %}
        <h1>User Authentication</h1>
        {% if user.is_authenticated %}
            <a href="{% url 'logout' %}">Logout</a>

            {% else %}
            <a href="{% url 'login_url' %}">Login</a>
            <a href="{% url 'register_url' %}">Register</a>
            {% endif %}
    {% endblock %}
</body>
</html>

汽油泵管理系统
{%block content%}
用户身份验证
{%if user.u经过身份验证%}
{%else%}
{%endif%}
{%endblock%}
dashboard.html

{% extends 'index.html' %}

{% block content %}
    <h1>Welcome to Petrol Pump Management Service, {{user.username}}</h1>
{% endblock %}
{%extends'index.html%}
{%block content%}
欢迎使用汽油泵管理服务,{{user.username}
{%endblock%}
register.html

{% extends 'index.html'%}

{% block content %}
    <h1>Create new account</h1>
    <form method = "POST" novalidate>
        {% csrf_token %}
        {{form.as_p}}
        <button type="submit">Register</button>
    </form>
{% endblock %} 
{%extends'index.html%}
{%block content%}
创建新帐户
{%csrf_令牌%}
{{form.as_p}}
登记
{%endblock%}
login.html

{% extends 'index.html' %}

{% block content %}
    <h1>System Login</h1>
    <form method = "POST">
        {% csrf_token %}
        {{form.as_p}}
        <button type="submit">Login</button>
    </form>
{% endblock %} 
{%extends'index.html%}
{%block content%}
系统登录
{%csrf_令牌%}
{{form.as_p}}
登录
{%endblock%}

您的注册视图正在重定向到登录URl,因为您正在使用所需的
login\u
decorator。至于其他问题:您是否设置了
LOGIN\u REDIRECT\u URL
设置,如果设置了,值是多少?您如何知道新帐户的注册不起作用,是否抛出了错误?看起来register视图应该可以工作,但我不确定。@DJRamones在settings.py中,我已经设置了LOGIN\u REDIRECT\u URL='/accounts/dashboard/'。当我以管理员身份登录Django administration时,在用户列表中看不到新注册的帐户。所有注册用户帐户都应该显示在那里,对吗?@DJRamones关于为什么我的注册url也被重定向到登录页面的任何建议?只需删除
@Login\u required
行;你打算允许匿名用户注册,对吗?那么,当他们正要注册一个帐户时,你不应该要求他们登录。至于你的其他问题,当你以管理员身份登录时被重定向到注册页面,或者无法注册帐户,我运行了你的代码,但没有遇到这些问题。管理员可以很好地登录,用户是在注册时创建的。只是想一想,您是在使用Django的默认用户模型,还是在使用自定义模型?