2012-06-30 32 views
13

Django 1.3 uygulamasında URL içeren bir paragrafı çevirmek istiyorum.Django trans ve url etiketleri

<p> 
    First <a href="{% url edit-profile username=user.username %}">edit your profile</a>, please. 
</p> 

Dile bağlı olarak, <a> etiketleri ile çevrili metin mutlaka değişecektir. Çevirmenlerin bağlantı yerleşimine karar vermesine nasıl izin verebilirim?

<p>{% trans "First <a href='{% url edit-profile username=user.username %}'>edit your profile</a>, please." %}</p> 

atılan hata TemplateSyntaxError: Searching for value. Unexpected end of string in column 64: trans "First <a href='{% url edit-profile username=user.username: a {% trans %} tamamını şeyi tamamlayan hataya neden olur.

Bunu yapmak için nasıl gitmeliyim? Görünümdeki URL'yi belirlemeli, ardından bu URL'yi şablona bir dize olarak mı iletmeliyim? Bu çok sık rastlanan bir sorun olduğunu düşündüğüm için gerçekten karmaşık bir çözüm gibi görünüyor.

cevap

37

{% blocktrans %} kullanın. Django translation docs Bu örneği şunlardır:

{% url path.to.view arg arg2 as the_url %} 
{% blocktrans %} 
This is a URL: {{ the_url }} 
{% endblocktrans %} 
+0

yönetmek zor: s – soField

+0

Ayrıca '{THE_URL% olarak% url "my_url"} adında URL'ler' ile çalışmaz: ' 'THE_URL' doesn argüman için bir biçim özelliklerini verir 'msgstr'' içinde mevcut değil – Escher

+0

URL adresinin' path.to.view 'yazısını hatırlat – Dos