【问题标题】:Accessing view that rendered the template from the template in django从 django 中的模板访问呈现模板的视图
【发布时间】:2019-03-10 15:55:25
【问题描述】:

我想知道是否可以确定哪个视图在 Django 中呈现特定模板(或获得布尔结果)。例如:

{% if this_view %}
  some code
{% else %}
  some other code
{% endif %}

我可能还差得远,但我想知道如何在模板中创建类似的条件语句。任何帮助将不胜感激!

【问题讨论】:

  • 您可以将视图的名称作为参数传递。但这看起来像糟糕的设计。在这种情况下,最好制作两个{% incude ... %} 通用部分的模板。

标签: django templates django-templates


【解决方案1】:

您可以使用 django 的 request.get_full_path 来获取模板中的当前 url,并且您应该能够从该 url 中找出视图。

您也可以在模板中使用request.resolver_match.view_name 来获取视图名称

【讨论】:

  • 那不是view,而是path。多个路径 可以通向相同 视图。在模板中解析路径是非常糟糕的设计。
猜你喜欢
  • 2017-01-31
  • 2018-09-29
  • 2014-11-26
  • 1970-01-01
  • 2012-11-11
  • 2021-02-14
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多