?office=foobar
gibi {% url %}
etiketine istek parametreleri eklemek istiyorum.Django'nun {% url%} şablon etiketi ile sorgu parametrelerini iletmek mümkün mü?
Bu mümkün mü? Üzerinde hiçbir şey bulamıyorum.
?office=foobar
gibi {% url %}
etiketine istek parametreleri eklemek istiyorum.Django'nun {% url%} şablon etiketi ile sorgu parametrelerini iletmek mümkün mü?
Bu mümkün mü? Üzerinde hiçbir şey bulamıyorum.
Hayır, GET parametreleri URL'nin bir parçası olmadığından.
Basitçe sonuna ekleyin: Django için
<a href="{% url myview %}?office=foobar">
1.5+
<a href="{% url 'myview' %}?office=foobar">
Birincisi, saçma bir cevap:
{% url my-view-name %}?office=foobar
Ciddi anwser: Hayır, yapabilirsin 't. Django'nun URL çözücüsü, URL'nin yalnızca yol bölümüyle eşleşir, böylece {% url %}
etiketi yalnızca URL'nin bu bölümünü tersine çevirebilir.
Gerçekten. Bu da mantıklı geliyor ... Keşke bundan biraz daha zarif olsaydı. –
Her zaman daha zarif bir özel etiket yazabilirsiniz - örneğin {% qpurl myview office = foobar%}. Bu ayrıca değerleri işleyebilir ve uygun şekilde kodlayabilir. – Spacedman
bir yolu mix-up akım parametrelerini yenisiyle:
{% url 'order_list' %}?office=foobar&{{ request.GET.urlencode }}
değiştirmek ayarlarınızı istek değişkeni olması:
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
kullanın urlencode
argüman değişken
veya başka bir özel boşluk gibi karakterler URL’nizi bozabilir.
url
Dokümantasyon doğrudan url
kullanarak bir yöntemi söz etmez: https://docs.djangoproject.com/en/1.9/ref/templates/builtins/#url
Aslında teknik öyleler. [RFC 1738] 'e göre (http://www.ietf.org/rfc/rfc1738.txt), bir HTTP URL aşağıdaki formu alır: http: //: /? . –
naktinis
@naktinis Bir HTTP URL'si, evet. Bir Django URL, [çok fazla değil] (https://docs.djangoproject.com/en/1.4/topics/http/urls/#how-django-processes-a-request). Yani, "URL" nin çeşitli tanımları için, her ikiniz de doğruyunuz: P –
Bu, url'yi kesen sondaki eğik çizgi ile sonuçlanmaz, örneğin example.com/myview yerine "example.com/myview/? Office = foobar" gibi ? = foobar' ofisi mi? –