我试图将锚链接到Django中的另一个页面。但是我收到错误消息“找不到'animals.all_animals'的反向。'animals.all_animals'不是有效的视图函数或模式名称。”
我尝试了几种方法来做..没有成功。我有一个名为Animals和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%
最佳答案
您需要冒号而不是点号:
<a href="{% url 'animals:all_animals' %}">Animal List</a>
或者,如果您的应用程序中包含的网址未命名空间:
<a href="{% url 'all_animals' %}">Animal List</a>
关于python - django url标记,不是有效的 View 函数或模式名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45545030/