djangoModelFormに必要なフィールドがいくつかあります。必須フィールドの後に赤い星(*)を追加するにはどうすればよいですか?
4612 次
2 に答える
28
これを自動的に実行することを想定しているので、いくつかの異なる方法の1つを次に示します。
{% for field in form %}
<label for="{{ field.auto_id }}">{{ field.label_tag }}
{% if field.field.required %}
<span class="required">*</span>
{% endif %}
</label>
{% endfor %}
次に、CSSを使用してアスタリスクのスタイルを設定できます。
または、必要に応じて、代わりにCSSを使用してアスタリスクを追加できます。
<style type="text/css">
span.required:after { content: '*'; }
</style>
{% for field in form %}
<label for="{{ field.auto_id }}">
{% if field.field.required %}
<span class="required">{{ field.label_tag }}</span>
{% else %}
{{ field.label_tag }}
{% endif %}
</label>
{% endfor %}
必須フィールドで他のこともしたい場合は、これがおそらくより良いオプションです。
ただし、フィールドに個別にアクセスしない場合({{form.as_p}}を使用する場合など)は、ModelFormにプロパティを追加できます。
class FooForm(forms.ModelForm):
required_css_class = 'required'
これにより、「required」クラスを持つものとして必須のすべてのフィールドが定義されます(したがって、上記のCSSコードを使用して、アスタリスク(またはその他の目的で実行したいもの)を追加できます。
于 2012-09-02T10:40:01.973 に答える
1
jQuery
ラベルを選択したり、ラベルに追加したりするために使用することもできます。
たとえば、このブートストラップフォームがある場合
<form class="form-horizontal">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3" required="required">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword3">
</div>
</div>
</form>
次に、必須フィールドにスターを追加する場合。
$('input,textarea,select').filter('[required]').parent().parent().find("label").append("*");
また、必須フィールドラベルのクラスを指定して、太字などにすることもできます。
$('input,textarea,select').filter('[required]:visible').parent().parent().find("label").addClass("required_label");
于 2015-04-13T20:38:53.937 に答える