【问题标题】:Django: inclusion_tag with multiple argumentsDjango:包含多个参数的标签
【发布时间】:2012-09-09 12:01:04
【问题描述】:

我编写了一个包含标签来显示带有许多(可选)参数的专辑评论。这是标签:

@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

【问题讨论】:

    标签: django


    【解决方案1】:

    您没有对字典中的所有键使用单引号,因此 python 使用变量的值作为键的名称。

    改成:

    return {
        'r': review, 
        'coverPosition': coverPosition, 
        'scoreMode': scoreMode, 
        'showLargeHeadings': showLargeHeadings, 
        'wordsToShow': wordsToShow 
    }    
    

    【讨论】:

    • 当然——我是个傻瓜。第一个参数用引号括起来,这就是它起作用的原因。我怎么没注意到这个?!谢谢!
    猜你喜欢
    • 2011-02-04
    • 2012-08-20
    • 2017-04-06
    • 1970-01-01
    • 2011-04-21
    • 2018-04-20
    • 2012-09-11
    • 2017-01-05
    • 1970-01-01
    相关资源
    最近更新 更多