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

  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • Warner Bros. UK

    Warner Bros.

    6 HAZİRAN 2008