Chciałbym dodać parametry żądania do {% url %}
tagu, na przykład ?office=foobar
.
czy to możliwe? Nie mogę nic na nim znaleźć.
django
django-templates
Brian D.
źródło
źródło
Odpowiedzi:
Nie, ponieważ parametry GET nie są częścią adresu URL.
Po prostu dodaj je na końcu:
Dla Django 1.5+
źródło
example.com/myview/?office=foobar
zamiastexample.com/myview?office=foobar
?Sposób na pomieszanie aktualnych parametrów z nowymi:
Zmodyfikuj ustawienia, aby uzyskać zmienną żądania:
źródło
Użyj,
urlencode
jeśli argument jest zmiennąw przeciwnym razie znaki specjalne, takie jak spacje, mogą przerwać adres URL.
Dokumentacja: https://docs.djangoproject.com/en/3.0/ref/templates/builtins/#urlencode
źródło
some_var
zmienna zwraca pustą wartość w href, ale jest wyświetlana jako wypełniona, jeśli zostanie użyta w innym miejscu szablonu. v2.1Najpierw głupia odpowiedź:
Poważna odpowiedź: Nie, nie możesz. Program do rozpoznawania adresów URL w Django dopasowuje tylko część ścieżki adresu URL, więc
{% url %}
tag może odwrócić tylko tę część adresu URL.źródło
Spróbuj tego:
U mnie to zadziałało. Zasadniczo robi to odwrotnie na tym łączu i stosuje podane argumenty.
źródło