Django: url hardcoding olmadan bakış Baskı url

oy
7

Ben bir url yazdırmak Can /admin/manage/products/addşablon belli bakış?

İşte ben için bir bağlantı oluşturmak istediğiniz kuraldır

(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}),

G / var / yönetmek ürünler / Bu hardcoding olmadan bir şablona eklemek istiyorum. Bunu nasıl yapabilirim?

Düzenleme: Ben (iyi, öyleyim ama başka url'deki ise) varsayılan yönetici kullanmıyorum, bu benimkisi

Oluştur 06/09/2008 saat 03:42
kaynak kullanıcı
Diğer dillerde...                            


3 cevaplar

oy
2

Eğer özelliğini kullanıyorsanız url kalıplarını adlı şablonunuzda follwing yapabilirsiniz

{% url create_object %}
Cevap 06/09/2008 saat 03:49
kaynak kullanıcı

oy
0

URL'yi yaratmanın tercih yolu eklemektir get_absolute_urlmodeliniz sınıflarına yöntemi. En azından KISS felsefesini takip yaklaştıkça böylece orada yolunu hardcode.

Sen kullanarak daha ileri gidebilir permalinkURL'ler yapılandırmasına göre yolunu rakamlar dekoratör.

Sen Django belgelerinde daha fazla bilgi edinebilirsiniz burada .

Cevap 06/09/2008 saat 03:50
kaynak kullanıcı

oy
15

Sen kullanabilirsiniz get_absolute_url, ama bu sadece belirli bir nesne için çalışacaktır. Senin nesne henüz oluşturulmadı olduğundan, bu durumda çalışmaz.

Kullanmak istediğiniz adlandırılmış URL modelleri . Aşağıda kısa bir intro var:

için urls.py satırı değiştirin:

(r'^manage/products/add/$', create_object, {'model': Product, 'post_save_redirect': ''}, "create-product"),

Ardından, şablonda URL'yi görüntülemek için kullanabilir:

{% url create-product %}

Eğer Django 1.5 kullanıyorsanız veya ediyorsanız daha yüksek buna ihtiyacın:

{% url 'create-product' %}

Sen adında URL modelleri ile biraz daha güçlü şeyler yapabilir, bunlar çok kullanışlı konum. onlar sadece geliştirme sürümü (ve ayrıca 1.0) içinde olduğunu unutmayın.

Cevap 06/09/2008 saat 08:22
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more