URLS.PY
from django.conf.urls import url
from django.contrib.auth import views as auth_views
from . import views
app_name = 'accounts'
urlpatterns = [
url(r'^login/$',auth_views.LoginView.as_view(),name='login'),
url(r'^logout/$',auth_views.LogoutView.as_view(),name='logout'),
url(r'^signup/$',views.SignUp.as_view(),name='signup'),
]
base.html
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Star Social</title>
...
<link rel="stylesheet" href="{% static 'simple_clone/css/master.css' %}">
</head>
<body>
<nav class="navbar mynav" role="navigation" id="navbar">
<div class="container">
<a class="navbar-brand" href="{% url 'home' %}">Star Social</a>
<ul class="navbar-nav ml-auto">
{% if user.is_authenticated %}
<li class="nav-item"> <a class="nav-link" href="#">Post</a>
</li>
<li class="nav-item"><a class="nav-link" href="#">Groups</a>
</li>
<li class="nav-item"><a class="nav-link" href="#">Create Group</a>
</li>
<li class="nav-item"><a class="nav-link" href="{% url 'accounts:logout' %}">Logout</a>
</li>
{% else %}
<li class="nav-item"><a class="nav-link" href="#">Groups</a>
</li>
<li class="nav-item"><a class="nav-link" href="{% url 'login' %}">Log In</a>
</li>
<li class="nav-item"><a class="nav-link" href="{% url 'accounts:signup'%}">Sign Up</a>
</li>
{% endif %}
</ul>
</div>
</nav>
{% block content%}
{% endblock %}
</body>
</html>
关于尝试访问http://127.0.0.1:8000/
请求方法:GET要求网址:http://127.0.0.1:8000/Django版本:1.11.29异常类型:NoReverseMatch异常值:反向查找“ login”,未找到任何参数。尝试了1种模式:['accounts / $ login / $']
首先,您的登录网址应为:
<li class="nav-item"><a class="nav-link" href="{% url 'accounts:login' %}">Log In</a>
由于在app_name='accounts'
下。
[其次,我猜想您在包含帐户网址的网址末尾放置了$
符号。请通过
url(r'^accounts/',include('accounts.url')),
因为$
表示正则表达式的结尾。
您必须在登录链接中添加app_name,在您的情况下为$
。
accounts