Antworten:
Nein, da die GET-Parameter nicht Teil der URL sind.
Fügen Sie sie einfach am Ende hinzu:
<a href="{% url myview %}?office=foobar">
Für Django 1.5+
<a href="{% url 'myview' %}?office=foobar">
example.com/myview/?office=foobar
statt example.com/myview?office=foobar
?
Eine Möglichkeit, aktuelle Parameter mit neuen zu verwechseln:
{% url 'order_list' %}?office=foobar&{{ request.GET.urlencode }}
Ändern Sie Ihre Einstellungen, um eine Anforderungsvariable zu erhalten:
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
Verwenden Sie urlencode
diese Option, wenn das Argument eine Variable ist
<a href="{% url 'myview' %}?office={{ some_var | urlencode }}">
Andernfalls können Sonderzeichen wie Leerzeichen Ihre URL beschädigen.
Dokumentation: https://docs.djangoproject.com/de/3.0/ref/templates/builtins/#urlencode
some_var
Variable wird in der href leer zurückgegeben, wird jedoch als gefüllt angezeigt, wenn sie an anderer Stelle in der Vorlage verwendet wird. v2.1
Zunächst eine dumme Antwort:
{% url my-view-name %}?office=foobar
Eine ernsthafte Antwort: Nein, das kannst du nicht. Djangos URL Resolver entspricht nur den Pfad Teil der URL, so dass der {% url %}
Tag nur den Teil der URL umkehren.
Versuche dies:
{% url 'myview' office=foobar %}
Es hat bei mir funktioniert. Dieser Link wird im Grunde genommen umgekehrt und die angegebenen Argumente werden angewendet.