我写了一个包含标签,用多个(可选)参数显示专辑评论。这是标签:
@register.inclusion_tag('reviews/review_trail.html')
def review_trail(review, coverPosition='left', scoreMode='corner', showLargeHeadings=False, wordsToShow=30):
return {
'r' : review,
coverPosition: coverPosition,
scoreMode: scoreMode,
showLargeHeadings: showLargeHeadings,
wordsToShow: wordsToShow
}
我这样称呼标签:
{% review_trail review=r coverPosition="right" %}
除了reviews
/ r
值之外,所有参数似乎都没有传递到我的HTML模板。如果我在包含标记内记录参数,我会看到它们正确传递,但是当我在review_trail.html
中输出它们时,它们都是空白的。我使用了错误的语法,还是不可能以这种方式使用多个参数?使用Django 1.4和the docs seem to suggest this is fine。
答案 0 :(得分:2)
您没有对字典中的所有键使用单引号,因此python正在使用变量的值来代替键的名称。
将其更改为:
return {
'r': review,
'coverPosition': coverPosition,
'scoreMode': scoreMode,
'showLargeHeadings': showLargeHeadings,
'wordsToShow': wordsToShow
}