1

いくつかの(オプションの)引数を使用してアルバムレビューを表示するための包含タグを作成しました。タグは次のとおりです。

@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とドキュメントを使用すると、これで問題ないことがわかります。

4

1 に答える 1

2

辞書内のすべてのキーに一重引用符を使用していないため、python は代わりにキーの名前に変数の値を使用しています。

次のように変更します。

return {
    'r': review, 
    'coverPosition': coverPosition, 
    'scoreMode': scoreMode, 
    'showLargeHeadings': showLargeHeadings, 
    'wordsToShow': wordsToShow 
}    
于 2012-09-09T12:20:58.940 に答える