私のdjangoプロジェクトでは、2つのモデルクラス - カテゴリ&があります。カテゴリはアクションの外部キーです(すべてのアクションはカテゴリに分類されます)。コンテキストオブジェクトをDjango URLテンプレートタグ引数として渡す方法
私のdjangoテンプレートの中で、コンテキストオブジェクトを{%url%}タグに渡して、Categoryの名前を引数として含む文字列を受け入れたいと考えています。だから、完璧な世界で私のDjangoのテンプレートは次のようにラインを持っているでしょう:
<form action="{% url 'actions' {{ category }} %}">
そして提出したときに、Djangoは以下のようにURLPATTERNにフォームをたどる:
url(r'^(?P<category_name>\w+)', views.actions, name='actions'),
しかし残念ながら、それはdoesnのテンプレートフィルタをテンプレートタグにネストすることができるように見えます。代わりに、私はURLタグ内のDjangoオブジェクトのForeignKeyを参照することができますか?あるいは、私のコードを構造化するための別の方法でしょうか?
あなたの問題である何、あなたはそのカテゴリのオブジェクトの名前であるURLに文字列を渡す必要があります?それは...ですか? – zaidfazil
はい、正確です。問題は、複数のカテゴリにわたって使用されるdjangoテンプレートなので、文字列はハードコード化できません(たとえば、{{category}}の代わりに 'Category_One'を入れることはできません。 'Category_Two'にアクセスしようとしていました) – Argonautic
この質問は頻繁に出てくるので、なぜテンプレートタグ内で可変構文を使用する必要があると思うのかわかりません。 [url'タグのドキュメント](https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#url)にも変数を直接使用する例がいくつかあります。 –