我试图将一个锚链接到Django中的另一个页面。但是我收到错误“找不到'animals.all_animals'的反转'.'enimals.all_animals'不是有效的视图函数或模式名称。” 我尝试了几种方法来做到这一点......没有成功。我有一个名为animals and Im tyring的应用程序,通过单击主页上的锚点来显示动物列表。我附上了我的Django文件。
from django.shortcuts import render, get_object_or_404
from .models import Animal
def animal_list(request):
animals = Animal.objects.all()
return render(request, 'animals/animal_list.html', {'animals': animals})
// and here is the html
{% for animal in animals %}
<h1>{{animal.species}}</h1>
<p>{{animal.description}}</p>
{% endfor %}
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.animal_list, name='all_animals'),
url(r'^(?P<pk>\d+)/$', views.animal_detail, name='all_details'),
]
{% load static from staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Animals Site</title>
<link href="{% static 'css/base.css'%}" rel="stylesheet">
</head>
<body>
{% block content %}
<nav>
<a href="{% url 'animals.all_animals'%}">Animal List</a>
</nav>
<a></a><h2>I love cats!</h2>
{% endblock content %}
{% block listbar %}
<ul>
<li>Sphynx</li>
<li>Catto</li>
<li>Bengal</li>
</ul>
{% endblock listbar %}
</body>
</html>
{% block listcolor%}
<style>
h2{
font-family: 'Calibri';
color: blue;
}
</style>
{% endblock listcolor%
答案 0 :(得分:2)
你需要一个冒号而不是一个点:
<a href="{% url 'animals:all_animals' %}">Animal List</a>
或者,如果您应用中包含的网址未被命名空间:
<a href="{% url 'all_animals' %}">Animal List</a>