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

  • Cartoonium

    Cartoonium

    11 NİSAN 2011
  • PC Learning Zone - Computer Training

    PC Learning

    8 EYLÜL 2006
  • WoodysGamertag

    WoodysGamert

    17 Aralık 2009