我正在编辑模板以包含超链接。但是当我这样做时,我得到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出现了。我究竟做错了什么?
答案 0 :(得分:0)
您需要为URL指定名称,并在url标记中引用该名称。
url(r'^$', views.hello_world, name='hello_world')
...
<a href="{% url 'hello_world' %}">