回答:
いいえ、GETパラメータはURLの一部ではないためです。
それらを最後に追加するだけです:
<a href="{% url myview %}?office=foobar">
Django 1.5以降の場合
<a href="{% url 'myview' %}?office=foobar">
example.com/myview/?office=foobar
代わりにexample.com/myview?office=foobar
?
現在のパラメーターを新しいパラメーターと混同する方法:
{% url 'order_list' %}?office=foobar&{{ request.GET.urlencode }}
リクエスト変数を持つように設定を変更します。
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
urlencode
引数が変数の場合に使用します
<a href="{% url 'myview' %}?office={{ some_var | urlencode }}">
または、スペースなどの特殊文字がURLを壊す可能性があります。
ドキュメント:https : //docs.djangoproject.com/en/3.0/ref/templates/builtins/#urlencode
some_var
変数はhrefで空を返しますが、テンプレートの他の場所で使用された場合は入力されていると表示されます。v2.1
まず、ばかげた答え:
{% url my-view-name %}?office=foobar
深刻な答え:いいえ、できません。DjangoのURLリゾルバーはURLのパス部分のみに一致するため、{% url %}
タグはURLのその部分のみを反転できます。
これを試して:
{% url 'myview' office=foobar %}
それは私のために働いた。それは基本的にそのリンクで逆を行い、与えられた引数を適用します。