CSS로 Django 양식 스타일 지정
Django 양식으로 작업할 때 CSS를 사용하여 모양을 맞춤설정해야 하는 경우가 많습니다. 이는 클래스 또는 ID를 특정 양식 요소에 할당하여 이를 달성할 수 있으며 그에 따라 대상을 지정하고 스타일을 적용할 수 있습니다.
forms.py에 정의된 다음 Django 양식을 고려하세요.
class ContactForm(forms.Form): subject = forms.CharField(max_length=100) email = forms.EmailField(required=False) message = forms.CharField(widget=forms.Textarea)
그리고 contact_form.html의 HTML 템플릿은 다음과 같습니다.
<form action="" method="post"> <table> {{ form.as_table }} </table> <input type="submit" value="Submit"> </form>
이러한 양식 요소의 스타일을 지정하려면 다음을 포함하도록 Django 양식 클래스를 수정하면 됩니다. 사용자 정의 위젯 속성. 이를 달성하는 방법에는 여러 가지가 있습니다.
방법 1:
# forms.py class ContactForm(forms.Form): subject = forms.CharField(widget=forms.TextInput(attrs={'class': 'subject'})) email = forms.EmailField(widget=forms.TextInput(attrs={'class': 'email'})) message = forms.CharField(widget=forms.Textarea(attrs={'class': 'message'}))
방법 2:
# forms.py class ContactForm(forms.ModelForm): class Meta: model = MyModel def __init__(self, *args, **kwargs): super(ContactForm, self).__init__(*args, **kwargs) self.fields['subject'].widget.attrs.update({'class': 'subject'}) self.fields['email'].widget.attrs.update({'class': 'email'}) self.fields['message'].widget.attrs.update({'class': 'message'})
방법 3:
# forms.py class ContactForm(forms.ModelForm): class Meta: model = MyModel widgets = { 'subject': forms.TextInput(attrs={'class': 'subject'}), 'email': forms.TextInput(attrs={'class': 'email'}), 'message': forms.Textarea(attrs={'class': 'message'}), }
위젯 속성에 클래스 속성을 추가하면 해당 양식 요소에 적용할 CSS 클래스를 지정할 수 있습니다. 그런 다음 외부 스타일 시트에 필요한 CSS 규칙을 정의하여 모양을 사용자 정의할 수 있습니다.
위 내용은 CSS를 사용하여 어떻게 Django 양식의 스타일을 효과적으로 지정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!