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

  • Fuse

    Fuse

    21 Kasım 2005
  • ibebrent

    ibebrent

    23 Temmuz 2007
  • YEAH1TV

    YEAH1TV

    19 ŞUBAT 2009