Respuestas:
No, porque los parámetros GET no forman parte de la URL.
Simplemente agréguelos al final:
<a href="{% url myview %}?office=foobar">
Para Django 1.5+
<a href="{% url 'myview' %}?office=foobar">
example.com/myview/?office=foobar
lugar de example.com/myview?office=foobar
?
Una forma de mezclar los parámetros actuales con uno nuevo:
{% url 'order_list' %}?office=foobar&{{ request.GET.urlencode }}
Modifique su configuración para tener una variable de solicitud:
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
Usar urlencode
si el argumento es una variable
<a href="{% url 'myview' %}?office={{ some_var | urlencode }}">
De lo contrario, los caracteres especiales como los espacios podrían romper su URL.
Documentación: https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#urlencode
some_var
variable vuelve vacía en el href pero se muestra que está llena si se usa en otra parte de la plantilla. v2.1
Primero, una respuesta tonta:
{% url my-view-name %}?office=foobar
Una respuesta seria: No, no puedes. El solucionador de URL de Django solo coincide con la parte de la ruta de la URL, por lo que la {% url %}
etiqueta solo puede revertir esa parte de la URL.
Prueba esto:
{% url 'myview' office=foobar %}
Funcionó para mí. Básicamente, hace un revés en ese enlace y aplica los argumentos dados.