首页 > 解决方案 > 如果所有参数都可用于 URL 生成 (#NoReverseMatch),则签入 Django 模板

问题描述

描述

我有一个由多个视图使用的 HTML 模板。都是一样的,但是一个 HTML 链接是不同的。所以我考虑在模板中检查什么是 request.path 并相应地更改链接。

问题

因为并非所有可能的 URL 的所有参数(如果不是真的)都被所有视图传递给模板,所以我得到一个 NoReverseMatch。

这是我对模板的想法:

{% url "first" as first_url %}
{% if first_url in request.path %}
<button type="button" onclick="$.get("{% url 'foo' a b c %}");">Foo</button>
{% endif %}

{% url "second" as second_url %}
{% if second_url in request.path %}
<button type="button" onclick="$.get("{% url 'bar' a %}");">Bar</button>
{% endif %}

问题

{% url %}尽管并非所有参数都可用,但有没有办法使用 Django ?还是我真的需要扩展模板?

标签: djangodjango-templates

解决方案


推荐阅读