0
私はGoogleのMDLフレームワークと私のフロントエンドを構築していると私が使用してMDLのスタイリングでDjangoのフォームをレンダリングするトラブルを抱えている:Djangoのフォームや材料設計Liteの
<form>
<div class="mdl-textfield mdl-js-textfield">
{% for field in form %}
<label class="mdl-textfield__label" for="{{ field.name }}">{{ field.label_tag }}</label>
{{ field }}
{% endfor %}
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
:
{{ form.as_table }}
{{ form.as_p}}
{{ form.as_ul}}
もこの方法を試してみました
私のDjangoのフォームクラス:私はMDLのコンポーネントからコードブロックを使用しようとしている
class MyClassUpdateForm(forms.ModelForm):
class Meta:
model = MyClass
fields = '__all__'
widgets = {
'foo': TextInput(attrs={'class': "mdl-textfield__input"}),
'bar': TextInput(attrs={'class': "mdl-textfield__input"}),
'baz': TextInput(attrs={'class': "mdl-textfield__input"}),
}
:
<form action="#">
<div class="mdl-textfield mdl-js-textfield">
<input class="mdl-textfield__input" type="text" id="sample1">
<label class="mdl-textfield__label" for="sample1">Text...</label>
</div>
</form>
try' {{form}} 'おそらく? – Bobby
Bobby ...手動でレンダリングし、各フィールドにスタイリングを適用する必要があります。 –
'MyClassUpdateForm'の' __init__'メソッドをオーバーライドし、attrsを以下のように指定してみてください: 'self.fields [ 'foo']。widget.attrs ['class'] = 'textfield__input'' – neverwalkaloner