SORU
8 Aralık 2008, PAZARTESİ


Nasıl Django Form Alanları Oluşturmak için Sırasını Biliyor mu?

Eğer Django gibi bir form var:

class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    message = forms.CharField()
    sender = forms.EmailField()

Ve as_table diyorum (yukarıda) belirtildiği gibi aynı sipariş olarak alanlar işlerler Django bu formun bir örneğinin yöntemi.

Benim soru nasıl Django sırasını bilmek sınıfı tanımlanmış değişkenleri nerede?

(Ayrıca nasıl classe bir alan eklemek istediğimde bu sırada, örneğin geçersiz kılarınityöntem?)

CEVAP
28 Temmuz 2009, Salı


[NOT: bu cevap şimdi biraz modası geçmiş - lütfen aşağıya bakınız].

Eğer f bir form ise, kendi alanlarında f.django.utils.datastructures.SortedDict olan alanlar, (eklenen sırası öğeleri sunar). İnşaat f formu sonra.alanlar bir liste sundu gerektiği sırada alan adlarını içeren keyOrder olma özelliği vardır. Sipariş doğru bakım ürünleri ihmal veya ekstra ilave etmemelerini sağlamak için egzersize ihtiyacınız olsa) için bu ayarlayabilirsiniz.

Burada sadece benim geçerli projede oluşturulan bir örnek:

class PrivEdit(ModelForm):
    def __init__(self, *args, **kw):
        super(ModelForm, self).__init__(*args, **kw)
        self.fields.keyOrder = [
            'super_user',
            'all_districts',
            'multi_district',
            'all_schools',
            'manage_users',
            'direct_login',
            'student_detail',
            'license']
    class Meta:
        model = Privilege

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Skrillex

    Skrillex

    6 NİSAN 2010
  • SVB International

    SVB Internat

    29 EKİM 2011
  • Tomas N

    Tomas N

    14 Kasım 2010