我试图将锚链接到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/

10-12 18:40