2012-03-14 12 views
1

Djangoには "with"と "url"という2つのテンプレートタグがあります。あなたはそれをやってみた場合"with"と "url"の組み合わせDjangoテンプレートタグ

{% with view=really.long.path.to.some.view.somewhere %} 
    {% url view.foo %} 
{% endwith %} 

しかし、あなたはあなたが得るとして「と」(「URL」タグ内に適用取得されていないことを見つける:2組み合わせることができるように便利になります"view.foo"が存在しないことに関するエラー)。

私の質問は、上記の作業を行ういくつかのフラグ/オプション/代替フォーマットが不足しているか、「with」を使って「url」タグを単純化することは本当に不可能ですか?

+0

これは非常に興味深い使用例です。これは可能なのか分からない 'with'です。しかし、ほとんどの場合、名前付きURLパターンを宣言し、long.path.to.viewの代わりにそれらの名前を 'url'で使用することで、そのような必要性をむしばんで回避したいと思います。 –

+0

名前付きURLパターンは間違いなく一般的な方法です。私は、JavaScriptを使用するためにページ上にプリントされたURLの束を持つレガシーコードベースで作業しています。それぞれの名前を付けることは巨大な痛みになります。 "with"を使用すると、1つの言語で読みやすくするために少し短く/簡単にすることができることは間違いなく今のところ望ましいことです(そして、いつか戻ってそれらにすべて名前をつける)。 – machineghost

答えて

2

将来の互換性ライブラリを使用する場合は、Django 1.3でも可能です。

説明と例については、の転送互換性https://docs.djangoproject.com/en/dev/ref/templates/builtins/#urlに(widthratioの説明の上)セクションを参照してください。

+0

男私はライブラリに問題があり、ライブラリの開発者が既にこの問題を解決していることがわかったとき、それが大好きです。情報をありがとう。 – machineghost