मेरे पास एक मॉडल है:
from django.db import models
CHOICES = (
('s', 'Glorious spam'),
('e', 'Fabulous eggs'),
)
class MealOrder(models.Model):
meal = models.CharField(max_length=8, choices=CHOICES)
मेरे पास एक फॉर्म है:
from django.forms import ModelForm
class MealOrderForm(ModelForm):
class Meta:
model = MealOrder
और मैं formtools.preview का उपयोग करना चाहता हूं। डिफ़ॉल्ट टेम्पलेट पसंद के छोटे संस्करण ('शानदार अंडे' के बजाय 'ई') को प्रिंट करता है, इसे उपयोग करता है
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.
मैं उल्लेख के अनुसार सामान्य रूप से एक टेम्पलेट चाहता हूं, लेकिन इसके बजाय 'शानदार अंडे' मुद्रित करना।
[जैसा कि मुझे संदेह था कि असली सवाल कहाँ है, मैंने इसे हम सभी के लिए बोल्ड कर दिया :)]
मुझे पता है कि कैसे एक विकल्प का वर्बोज़ संस्करण प्राप्त करना है जो खुद बदसूरत है:
{{ form.meal.field.choices.1.1 }}
असली दर्द यह है कि मुझे चयनित विकल्प प्राप्त करने की आवश्यकता है, और मेरे दिमाग में आने वाला एकमात्र तरीका विकल्पों और जाँच के माध्यम से परेशान है {% ifequals currentChoice.0 choiceField.data %}
, जो कि बदसूरत भी है।
क्या इसे आसानी से किया जा सकता है? या इसे कुछ टेम्प्लेट-टैग प्रोग्रामिंग की आवश्यकता है? कि पहले से ही django में उपलब्ध नहीं होना चाहिए?