Django-自定义标记不工作
我想将模型传递给template base.html 我阅读了有关自定义标记的内容,并尝试执行此操作。它没有抛出任何错误,但也不起作用 我的代码: base.html:Django-自定义标记不工作,django,Django,我想将模型传递给template base.html 我阅读了有关自定义标记的内容,并尝试执行此操作。它没有抛出任何错误,但也不起作用 我的代码: base.html: {% load staticfiles %} {% load tags %} <!DOCTYPE html> <html> <head> </head> <body> <ul class="dro
{% load staticfiles %}
{% load tags %}
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<ul class="dropdown-menu" role="menu">
{% for league in get_my_leagues %}
<li> ddddd {{ league.league_name }}</li>
{% endfor %}
</ul>
{% block content %}
{% endblock %}
</body>
</html>
当您使用
{%for x in y%}
时,这要求y
是模板中的上下文变量,而不是模板标记
包含标记所做的是呈现一个模板(作为参数传递给inclusion\u标记
decorator的模板),并在使用包含标记的地方插入结果
您可能希望注册get_my_leagues
作为a(或者,如果您使用的是Django早于1.9的版本),并像这样使用它:
{% get_my_leagues as my_leagues %}
{% for league in my_leagues %}
...
{% endfor %}
当您使用
{%for x in y%}
时,这要求y
是模板中的上下文变量,而不是模板标记
包含标记所做的是呈现一个模板(作为参数传递给inclusion\u标记
decorator的模板),并在使用包含标记的地方插入结果
您可能希望注册get_my_leagues
作为a(或者,如果您使用的是Django早于1.9的版本),并像这样使用它:
{% get_my_leagues as my_leagues %}
{% for league in my_leagues %}
...
{% endfor %}
伙计们
我来这里只是想告诉大家我找到了解决问题的办法。我正在使用上下文处理器来完成这项工作
谢谢大家的回答 伙计们
我来这里只是想告诉大家我找到了解决问题的办法。我正在使用上下文处理器来完成这项工作
谢谢大家的回答 有什么原因不能在
视图.py
中加载你的联盟并将它们传递给你的模板吗?@Chris我只是不知道如何处理视图,然后传递给基础模板好的,所以这里有两个问题:(a)为什么你上面所做的不起作用,以及(b)有没有更简单的方法来做到这一点?让我们先关注一下(a)。你说它不会抛出任何错误。发生了什么事?模板呈现时没有任何联盟吗?是的,@Cris。该模板被渲染,但不显示任何数据。您应该真正考虑阅读Django教程,并在您的视图中实现这个功能。有没有理由不能简单地将您的联赛加载到<代码>视图中?Py < /代码>并将其传递给您的模板?@克里斯,我不知道如何使用视图,并传递到基础模板,所以这里有两个问题:(a)为什么你上面所做的不起作用,和(b)有没有更简单的方法?让我们先关注一下(a)。你说它不会抛出任何错误。发生了什么事?模板呈现时没有任何联盟吗?是的,@Cris。该模板被呈现,但不显示任何数据。您应该真正考虑阅读Django教程,并在视图中实现此功能。注意Django 1.9不赞成<代码> BoeDebug标签> <代码>,赞成<代码> SimeLyTAG/<代码>。我会更新答案。嗨,@koniik,当我听从你的建议时,浏览器返回我这个错误:你是如何注册标签的?你能发布你的标签的更新定义吗?请注意,Django 1.9不赞成assignment\u标签
而赞成simple\u标签
。我会更新答案。嗨,@koniik,当我听从你的建议时,浏览器返回我这个错误:你是如何注册标签的?你能发布你标签的更新定义吗?