プルダウンメニューに初期値を与えたい
DjangoのChoiceFieldFormに初期値を与えたい。
どうやるの?
{{ form.mendanplace_b }} でプルダウンメニューが表示されるが、HTMLで初期値を設定できない
<div class="table">
<table class="hyou">
<tr>
<th>所属</th>
<th>面談場所</th>
<th>面談時間</th>
</tr>
{% for syozoku in BelongMaster %}
<tr class="{{ syozoku.number_b }}">
<td >{{ syozoku.name_b }}</td>
<td>{% if syozoku.mendanplace_b == 0 %}
{{ form.mendanplace_b:0 }} <!--ここがうまくいかない-->
{% elif syozoku.mendanplace_b == 1 %}
{{ form.mendanplace_b:1 }} <!--ここがうまくいかない-->
{% else %}
{{ form.mendanplace_b:2 }} <!--ここがうまくいかない-->
{% endif %}
</td>
<td>{% if syozoku.mendantime_b == 0 %}
{{ form.mendantime_b:0 }} <!--ここがうまくいかない-->
{% elif syozoku.mendantime_b == 1 %}
{{ form.mendantime_b:1 }} <!--ここがうまくいかない-->
{% else %}
{{ form.mendantime_b:2 }} <!--ここがうまくいかない-->
{% endif %}
</td>
</tr>
{% endfor %}
</table>
<a class="under" href="{% url 'account:logout' %}"> ログアウト </a>
</div>
views.py
class SyozokuView(CreateView):
template_name = "account/Syozoku.html"
form_class = SyozokuForm
def get_context_data(self, **kwargs):
content = super().get_context_data(**kwargs)
content.update({
'BelongMaster':BelongMaster.objects.all(),
})
return content
models.py
class BelongMaster(models.Model):
number_b = models.CharField(max_length=4, primary_key=True)
name_b = models.CharField(max_length=32)
mendanplace_b = models.IntegerField(
choices = MENDAN_STATE,
default = 0)
mendantime_b = models.IntegerField()
def __str__(self):
return (self.number_b) + ':' + (self.name_b) + ':' + str(self.mendanplace_b) + ':' + str(self.mendantime_b)
MENDAN_STATE = [
(0,'Zoom'),
(1,'本社'),
(2,'支社'),
]
MENDAN_TIME = [
(1,'30分'),
(2,'1時間'),
(3,'20分(お昼休憩)'),
]
自分で試したこと
いろんなことためした
0