Yanıtlar:
Hayır, çünkü GET parametreleri URL'nin parçası değildir.
Bunları sonuna ekleyin:
<a href="{% url myview %}?office=foobar">
Django 1.5+ için
<a href="{% url 'myview' %}?office=foobar">
example.com/myview/?office=foobar
yerine example.com/myview?office=foobar
?
Mevcut parametreleri yenisiyle karıştırmanın bir yolu:
{% url 'order_list' %}?office=foobar&{{ request.GET.urlencode }}
Ayarlarınızı istek değişkenine sahip olacak şekilde değiştirin:
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
urlencode
Bağımsız değişken bir değişkense kullanın
<a href="{% url 'myview' %}?office={{ some_var | urlencode }}">
veya boşluklar gibi özel karakterler URL'nizi bozabilir.
Belgeler: https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#urlencode
some_var
değişken href içinde boş olarak dönüyor, ancak şablonun başka bir yerinde kullanılırsa dolu olduğu gösteriliyor. v2.1
İlk olarak, aptalca bir cevap:
{% url my-view-name %}?office=foobar
Ciddi bir cevaplayıcı: Hayır, yapamazsınız. Django'nun URL çözümleyicisi , URL'nin yalnızca yol kısmıyla eşleşir , bu nedenle {% url %}
etiket , URL'nin yalnızca o kısmını tersine çevirebilir.
Bunu dene:
{% url 'myview' office=foobar %}
Benim için çalıştı. Temelde bu bağlantıda tersine çevirir ve verilen argümanları uygular.