如何修复Django应用上的'NoReverseMatch at /'错误?

时间:2019-06-17 23:47:57

标签: python django

我是Django的新手,我正尝试构建一个基本应用程序以供将来使用。我一直收到一个错误消息,提示“找不到NoReverseMatch at /反转'about'。'about'不是有效的视图函数或模式名称。”

我搜索了同样问题的其他人,看来他们的问题使用的是Django的旧版本,他们使用的功能与我使用的功能不同。

我正在使用Tracy Osborn撰写的一本书,叫做Hello Web App,它简化了所有事情,而且我发现处理类似问题的所有代码似乎远比到目前为止完成的复杂。我试图更改我的views.py文件,以请求base.html文件而不是无效的index.html文件。我已经仔细检查了所有文件的语法,包括html文件。而且,我确保urls.py文件完全匹配。我仍然不断收到相同的错误。

这是我的urls.py文件

from django.contrib import admin
from django.urls import path
from django.views.generic import TemplateView
from condata import views

urlpatterns = [
    path('', views.index, name='home'),
    path('about/',
        TemplateView.as_view(template_name='about.html'),
        name='about'),
    path('contact/',
        TemplateView.as_view(template_name='contact.html'),
        name='contact'),
    path('admin/', admin.site.urls),
]

views.py

from django.shortcuts import render

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

base.html

{% load staticfiles %}
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>
      {% block title %}
        Project
      {% endblock title %}
    </title>
    <link rel="stylesheet" href="{% static 'css/style.css' %}" />
    {% block header %}{% endblock header %}
  </head>
  <body>
    <header>
      <nav>
        <ul>
          <li><a href="{% url 'home' %}">Home</a></li>
          <li><a href="{% url 'about' %}">About</a></li>
          <li><a href="{% url 'contact' %}">Contact</a></li>
        </ul>
      </nav>
    </header>
    {% block content %}{% endblock content %}
    {% block footer %}{% endblock footer %}
  </body>
</html>

我真的只是期望一个带有一些链接的基本页面能够进入我为之撰写和联系的html页面。看来非常基本,我只是对此没有太多经验,而且我不确定我可能还会做错什么。我非常感谢您的帮助!谢谢

0 个答案:

没有答案