NoReverseMatch at / courses / course / 1/1 /

时间:2016-09-14 16:59:12

标签: python django

我正在编辑模板以包含超链接。但是当我这样做时,我得到NoReverseMatch错误。

使用参数'()'和关键字参数'{}'找不到'views.hello_world'的反转。尝试了0种模式:[]

模板文件:

的layout.html

{% load static from staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
    <link rel="stylesheet" href="{% static 'css/layout.css' %}">
</head>
<body>

<div class="site-container">
    <nav>
        <a href="{% url 'views.hello_world' %}">Home</a> [**Error here**]
    </nav>
    {% block content %}{% endblock %}
</div>

</body>
</html>

urls.py

from django.conf.urls import include, url
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from . import views


urlpatterns = [
    url(r'^courses/', include('courses.urls')),
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.hello_world)
]
urlpatterns+=staticfiles_urlpatterns()

views.py

from django.shortcuts import render


def hello_world(request):
    return render(request, 'home.html')

这条线,     家 删除时我没有收到任何错误。但我补充说,NoReverseMatch出现了。我究竟做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要为URL指定名称,并在url标记中引用该名称。

url(r'^$', views.hello_world, name='hello_world')

...

<a href="{% url 'hello_world' %}">