SORU
29 NİSAN 2011, Cuma


Django formları CSS stil

Aşağıdaki nasıl bir stil yapmam:

forms.py --

from django import forms

class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100)
    email = forms.EmailField(required=False)
    message = forms.CharField(widget=forms.Textarea)

contact_form.html --

    <form action="" method="post">
        <table>
            {{ form.as_table }}
        </table>
        <input type="submit" value="Submit">
    </form>

Örneğin, nasıl konu, e-posta, mesaj için bir sınıf ya da KİMLİK için harici bir stil sayfası sağlamak için ayarlarım? Teşekkür ederim

CEVAP
29 NİSAN 2011, Cuma


Benim cevap alınmış: How to markup form fields with <div class='field_type'> in Django

class MyForm(forms.Form):
    myfield = forms.CharField(widget=forms.TextInput(attrs={'class' : 'myfieldclass'}))

ya

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel

    def __init__(self, *args, **kwargs):
        super(MyForm, self).__init__(*args, **kwargs)
        self.fields['myfield'].widget.attrs.update({'class' : 'myfieldclass'})

ya

class MyForm(forms.ModelForm):
    class Meta:
        model = MyModel
        widgets = {
            'myfield': forms.TextInput(attrs={'class': 'myfieldclass'}),
        }

--- EDİT ---
Yukarıdaki isteneni yerine getiren özgün soru bu kodu yapmak için en kolay değişimdir. Ayrıca eğer başka yerlerde şeklinde yeniden kendini tekrar sizi tutar; eğer sınıflar ya da diğer öznitelikleri sadece/as_ul/as_p as_table yöntemleri form Django kullanırsanız çalışır. Eğer tamamen özel bir işleme için tam denetim istiyorsanız, bu clearly documented

2 - - - -- DÜZENLEYİN
Katma ModelForm için widget ve attrs belirtmek için yeni bir yol.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caroline Saquet

    Caroline Saq

    1 EKİM 2011
  • Peyton

    Peyton

    28 Aralık 2008
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005