我如何知道何时以及何时不包括';应用程序名称:';在django url标记中
我在按照一本书的说明编写我的第一个django程序。这本书编写了类似于我如何知道何时以及何时不包括';应用程序名称:';在django url标记中,django,Django,我在按照一本书的说明编写我的第一个django程序。这本书编写了类似于{%url'learning\u logs:index%%}(learning\u logs是应用程序名)的url标记,但是当我尝试模拟它时,我遇到了一个错误,直到我在阅读了这里的一篇文章之后使用了{%url'index%%}。后来在我的程序中,在我在同一个项目上创建了另一个名为“users”的应用程序后,我得到了“notfound”的错误Reverse不是有效的视图函数或模式名称,直到我恢复到书中使用的初始方法,在页面名称{
{%url'learning\u logs:index%%}
(learning\u logs是应用程序名)的url标记,但是当我尝试模拟它时,我遇到了一个错误,直到我在阅读了这里的一篇文章之后使用了{%url'index%%}
。后来在我的程序中,在我在同一个项目上创建了另一个名为“users”的应用程序后,我得到了“notfound”的错误Reverse不是有效的视图函数或模式名称
,直到我恢复到书中使用的初始方法,在页面名称{%url'learning\u logs:index%}之前添加“learning\u logs:”。我需要一些关于如何识别何时添加“应用程序名称”以及何时不将其添加到url标记的帮助
下面是一些包含“学习日志”的代码示例:
<h1>
<a href="{% url 'learning_logs:index' %}">Learning Log</a> -
<a href="{% url 'learning_logs:topics' %}">Topics</a> -
{% if user.is_authenticated %}
Hello, {{ user.username }}
{% else %}
<a href="{% url 'users:login' %}">log in</a>
{% endif %}
</h1>
{% block content %}{% endblock content %}
-
-
{%if user.u经过身份验证%}
您好,{user.username}
{%else%}
{%endif%}
{%block content%}{%endblock content%}
下面是我如何使用url名称编写的,有时也会使用url名称(这是在我创建新应用程序“用户”之前):
<h1>
<a href="{% url 'index' %}">Learning Log</a> -
<a href="{% url 'topics' %}">Topics</a> -
</h1>
{% block content %}{% endblock content %}
-
-
{%block content%}{%endblock content%}
在url.py
中,函数include(用于为应用程序包含新的url.py)具有kwarg名称空间
,该名称空间定义了应用程序的url名称空间,这就是您要查找的内容。其主要原因是不要与“list”或“create”等公共url冲突在应用之间。因此,如果不定义名称空间,则可以使用url的名称,而不使用名称空间:
此处的文档:
希望您理解。如果有应用程序名称,您应该始终包括一个
应用程序名称。