请帮忙! 我真的被卡住了,我试图使用django登录视图和一次又一次地制作登录页面,我在渲染基本模板时遇到NoReverseMatch错误。
在文档中我读到了有关标签URL的信息,但我不知道如何使用它。
这是我的基本模板
super().get_foo()
这是我的登录模板,扩展了基本模板
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title></title>
<meta http-equiv="x-ua-compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="shortcut icon" href="favicon.png" />
<link rel="stylesheet" href="libs/bootstrap/bootstrap-grid-3.3.1.min.css" />
<link rel="stylesheet" href="libs/font-awesome-4.2.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="libs/fancybox/jquery.fancybox.css" />
<link rel="stylesheet" href="libs/owl-carousel/owl.carousel.css" />
<link rel="stylesheet" href="libs/countdown/jquery.countdown.css" />
<link rel="stylesheet" href="css/fonts pariszanka.css" />
<link rel="stylesheet" href="css/media.css" />
</head>
<style>
*::-webkit-input-placeholder {
color: #666;
opacity: 1;
}
*:-moz-placeholder {
color: #666;
opacity: 1;
}
*::-moz-placeholder {
color: #666;
opacity: 1;
}
*:-ms-input-placeholder {
color: #666;
opacity: 1;
}
html {
position: relative;
min-height: 100%;
}
body {
margin-bottom: 60px;
background-color: #d7dad9;
}
.header{
font-family: IsadoraBold;
text-align: center;
font-size: 30px;
}
.top_line{
background-color: #24292E;
color: white;
}
.bottom_line{
background-color: #24292E;
color: white;
}
.top_name{
float: left;
list-style-type: none;
}
.top_nav{
float: right;
}
.top_nav ul li{
list-style-type: none;
display: inline-block;
vertical-align: center;
padding-right: 40px;
}
.top_nav a{
color: white;
}
.top_nav a:hover{
color: #78B0AE;
}
</style>
<body>
<div class="top_line">
<div class="container">
<div class="col-md-12">
<div class="row">
<ul class="hidden-md hidden-lg hidden-xl top_name">
<li><h1>JFE</h1></li>
</ul>
<div class="top_name hidden-sm hidden-xs">
<h1>Jobs For Everybody</h1>
</div>
<div class="top_nav">
<ul>
{% if user.is_authenticated %}
<li><a class="navbar-brand" href="/"><h4>Главная</h4></a></li>
<li><a class="navbar-brand" href="/notes"><h4>Заметки</h4></a></li>
<li><a class="navbar-brand" href="/sred_zp"><h4>Рассчет средней З/П</h4></a></li>
<li><a class="navbar-brand" href="/logout"><h4>{{user.username}}</h4></a></li>
{% endif %}
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="col-md-12">
{% block content %}{% endblock %}
</div>
</div>
<div class="navbar-fixed-bottom">
<div class="bottom_line">
<div class="container">
<div class="col-md-12">
<div class="row">
<center><h3>Jobs For Everybody</h3></center>
<center><h4>MartsinovichDanya copyright 2019</h4></center>
</div>
</div>
</div>
</div>
</div>
<script src="libs/jquery/jquery-1.11.1.min.js"></script>
<script src="libs/jquery-mousewheel/jquery.mousewheel.min.js"></script>
<script src="libs/fancybox/jquery.fancybox.pack.js"></script>
<script src="libs/waypoints/waypoints-1.6.2.min.js"></script>
<script src="libs/scrollto/jquery.scrollTo.min.js"></script>
<script src="libs/owl-carousel/owl.carousel.min.js"></script>
<script src="libs/countdown/jquery.plugin.js"></script>
<script src="libs/countdown/jquery.countdown.min.js"></script>
<script src="libs/countdown/jquery.countdown-ru.js"></script>
<script src="libs/landing-nav/navigation.js"></script>
<script src="js/common-pariszanka.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</body>
</html>
这是settings.py的一部分
{% extends "base.html" %}
{% block content %}
<style>
.button{
width: 25%;
}
p input{
border-width: 2px;
border-color: gray;
border-radius: 30px;
padding: 15px 10px;
margin-top: 10px;
margin-bottom: 10px;
background-color: 8F8E89;
width: 40%;
}
p label{
margin-top: 15px;
}
form a{
font-size: 20px;
color: 6E6D68;
}
form a:hover{
font-size: 20px;
color: #78B0AE;
}
</style>
{% url 'login' %}
{% if form.errors %}
<p>Your username and password didn't match. Please try again.</p>
{% endif %}
{% if next %}
{% if user.is_authenticated %}
<p>Your account doesn't have access to this page. To proceed,please login with an account that has access.</p>
{% else %}
<p>Please login to see this page.</p>
{% endif %}
{% endif %}
<form method="post" action="{% url django.contrib.auth.views.login %}">
{% csrf_token %}
<table>
<tr>
<td>{{ form.username.label_tag }}</td>
<td>{{ form.username }}</td>
</tr>
<tr>
<td>{{ form.password.label_tag }}</td>
<td>{{ form.password }}</td>
</tr>
</table>
<input type="submit" value="login">
<input type="hidden" name="next" value="{{ next }}">
</form>
{# Assumes you setup the password_reset view in your urlconf #}
<p><a href="{% url 'password_reset' %}">Lost password?</a></p>
{% endblock %}
这里是urls.py
INSTALLED_APPS = [
'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','JobsForEverybody_app','Notes_app',]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.Sessionmiddleware','django.middleware.common.Commonmiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.Authenticationmiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',]
ROOT_urlconf = 'JobsForEverybody.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [
'/home/danya/PycharmProjects/JobsForEverybody-JFE_website/templates'
],'APP_DIRS': True,'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},]