我想將模型傳遞給模板base.html。Django - 自定義標記不起作用
我讀了關於自定義標籤,並試圖執行此操作。它不會拋出任何錯誤,但不能工作。
我的代碼:
base.html文件:
{% 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>
現在,tags.py:
from django.template import Library
from login.models import League
register = Library()
@register.inclusion_tag('base.html')
def get_my_leagues():
return League.objects.all()
register.tag('get_my_leagues', get_my_leagues)
是不是有一個原因,你不能簡單地加載你的聯賽在'views.py'並傳遞給你的模板? – Chris
@Chris我只是不知道它是如何與意見,並傳遞給基礎模板 –
好吧,所以這裏真的有兩個問題:(a)爲什麼你不做以上工作,(b)有沒有更簡單的方法來做到這一點?首先關注(a)。你說它不會拋出任何錯誤。什麼_does_發生?模板渲染時是否沒有任何聯賽? – Chris