Python django.url.exceptions.NoReverseMatch:
我正在尝试创建自定义多用户类型注册,但一直遇到以下错误: django.URL.exceptions.NoReverseMatch:找不到“登录”的反向“登录名”不是有效的视图函数或模式名称。 主要问题是我还没有创建任何“登录”视图功能 以下是我的项目URL 这些是我的应用程序的URLPython django.url.exceptions.NoReverseMatch:,python,django,Python,Django,我正在尝试创建自定义多用户类型注册,但一直遇到以下错误: django.URL.exceptions.NoReverseMatch:找不到“登录”的反向“登录名”不是有效的视图函数或模式名称。 主要问题是我还没有创建任何“登录”视图功能 以下是我的项目URL 这些是我的应用程序的URL from django.urls import path from . import views urlpatterns = [ path('register/',views.register,na
from django.urls import path
from . import views
urlpatterns = [
path('register/',views.register,name='register'),
path('customer_register/',views.customer_register.as_view(),name='customer_register'),
path('business_register/',views.business_register.as_view(),name='business_register'),
]
这些是相关的视图功能
from django.shortcuts import render
from django.views.generic import CreateView
from .forms import Customer_userRegisterForm,Business_userRegisterForm
from .models import User,Business,Customer
def register(request):
return render(request,'users/register.html')
class customer_register(CreateView):
model = User
form_class = Customer_userRegisterForm
template_name = 'users/customer_register.html'
class business_register(CreateView):
model = User
form_class = Business_userRegisterForm
template_name = 'users/business_register.html'
以防万一,这是相关的模板
<!DOCTYPE html>
{% load static %}
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"
integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous">
<link rel="stylesheet" href="{% static 'blog/main.css' %}",type="text/css">
{% if title%}
<title> {{ title }}</title>
{% else %}
<title> Yatta </title>
{% endif %}
</head>
<body>
<header class="site-header">
<nav class="navbar navbar-expand-md navbar-dark bg-steel fixed-top">
<div class="container">
<a class="navbar-brand mr-4" href="/">Yatta</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggle"
aria-controls="navbarToggle" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarToggle">
<div class="navbar-nav mr-auto">
<a class="nav-item nav-link" href="#">Home</a>
<a class="nav-item nav-link" href="#">Blog</a>
</div>
<!-- Navbar Right Side -->
</div>
</div>
</nav>
</header>
<main role="main" class="container">
<div class="row">
<div class="col-md-8">
{% if messages%}
{% for message in messages %}
<div class="alert alert-{{message.tags}}">
{{message}}
</div>
{% endfor %}
{% endif%}
{% block content %}
{% endblock%}
</div>
</div>
</main>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"
integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV"
crossorigin="anonymous"></script>
</body>
</html>
{%load static%}
{%if title%}
{{title}}
{%else%}
雅塔
{%endif%}
{%if消息%}
{消息%中的消息为%s}
{{message}}
{%endfor%}
{%endif%}
{%block content%}
{%endblock%}
我曾试图寻找类似问题的解决方案,但没有一个适合我。请帮我解决这个问题。项目URL中的URL模式应该是:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('users.urls')),
path('users/', include('django.contrib.auth.urls')),
]
django.contrib.auth.urls
包含django的内置登录视图。您还没有创建它,但显然您正在尝试在某个地方使用它,可能是在模板中使用类似于{%url'login'%}
的内容。不,它在模板中仍然是一个死链接对不起,你是什么意思?我想说的是,你的错误是由模板标记引起的。我没有添加这样的模板标记。你能完整地回溯整个错误吗?
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('users/', include('users.urls')),
path('users/', include('django.contrib.auth.urls')),
]