2013-07-19 14 views
5

urls.py numaralı telefondan TemplateView.as_view()'u kullanmaya çalışıyorum, daha sonra onu adsız olarak kullanmalısınız. url. Bu çalışmalı mı? Yoksa sadece yanlış mı yapıyorum? Yoksa benim uygulamamdaki bazı kesintilerden mi? Ben ...TemplateView.as_view ile URL'leri nasıl geri çevirebilirim?

<li><a href="{% url "legal" %}">Terms and Conditions</a></li> 

ve

NoReverseMatch at /how-it-works/ 
Reverse for '"legal"' with arguments '()' and keyword arguments '{}' not found. 

bu şimdiye kadar bu yolu işe yaramayacak gibi geliyor bana verir

url(r'^legal/$', TemplateView.as_view(template_name="legal.html"), name="legal"), 

var.

URL'leri TemplateView ile nasıl tersine çeviririz?

cevap

3

Göndermiş olduğunuz kod sözdizimsel olarak doğrudur, ancak çakışan başka bir şey var.

  • url etiketi Django 1.5+ sözdizimi bunu kullanmakta olduğunuz yüklemek olduğunu teyit edebilir, (docs here yılında uyarıyı dikkate alın) olduğunu mu? Bu sorun olduğundan şüpheleniyorum, istisna mesajında ​​legal çift tırnak çok şüphelidir. Django 1.5+ özel durum iletisi, dağıtıcı tarafından bulunmayan bir URL için değil 'legal' içerir.
  • URL URL dağıtıcısı tarafından kaydediliyor mu? Hatalı bir URL'ye (örn. 404) basarak hata ayıklama modundan anlayabilirsiniz, çıktı, URLConf'unuzdaki tüm geçerli URL yollarını listeler.

Sorun yaşamaya devam ederseniz, daha fazla bilgi edinebilmemiz için daha fazla bilgi ekleyin.

İyi şanslar!

+0

Teşekkürler, 1.4.5'teyim bu yüzden sözdizimi hakkındaki küçük not, tırnakları içermediysem işe yaradığı için anlamlıdır: '{% url legal%}' gereklidir. –

İlgili konular