SORU
9 Temmuz 2009, PERŞEMBE


Django şablonları: bir seçim ayrıntılı sürüm

Bir model var:

from django.db import models

CHOICES = (
    ('s', 'Glorious spam'),
    ('e', 'Fabulous eggs'),
)

class MealOrder(models.Model):
    meal = models.CharField(max_length=8, choices=CHOICES)

Bir form var:

from django.forms import ModelForm

class MealOrderForm(ModelForm):
    class Meta:
        model = MealOrder

Ve formtools kullanmak istiyorum.önizleme. Varsayılan şablon seçimi kısa versiyonu yazdırır ('e' yerine 'Muhteşem yumurta'), çünkü kullanır

{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.

Bir şablon söz konusu, ama 'Muhteşem yumurta' yerine. yazdırma gibi genel istiyorum

[asıl soru nerede şüphelerim vardı, hepimiz için ben kalın :)]

Kendisi çirkin bir şekilde bir seçim ayrıntılı versiyonu nasıl biliyorum:

{{ form.meal.field.choices.1.1 }}

Gerçek acı seçili seçenek almak istiyorum, ve tek yolu aklıma gelenler seçimlerin yinelenmesi ve daha da çirkin olan {% ifequals currentChoice.0 choiceField.data %}, denetliyor.

Kolayca yapılabilir mi? Veya şablon etiketi programlama bazı ihtiyacı var? Bu django kullanılabilir olması zaten gerekmez mi?

CEVAP
9 Temmuz 2009, PERŞEMBE


Kullanabilirsiniz Django şablonları "get_FOO_display()" Yöntem, Bu alan için okunabilir diğer döndürür, '' alan adıdır. FOO

Not: FormPreview standart şablonlar kullanılarak farklı ise, o zaman 13 ** {{ form.get_meal_display }} gibi bir şey içerecek olan bu form için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Washington

    Adam Washing

    12 Mayıs 2006
  • Joanna Okrajni

    Joanna Okraj

    4 EYLÜL 2010
  • MrDevin521

    MrDevin521

    18 Temmuz 2010