Django使用Django中的手动渲染窗体选择值
我试图在django中实现CRUD操作,但是,我被困在编辑操作中。 在将数据传递到编辑模板后,我需要显示操作系统下拉列表中的选定值,如何实现这一点? 我使用django表单的手动呈现,模板中包含以下代码:Django使用Django中的手动渲染窗体选择值,django,django-forms,django-templates,Django,Django Forms,Django Templates,我试图在django中实现CRUD操作,但是,我被困在编辑操作中。 在将数据传递到编辑模板后,我需要显示操作系统下拉列表中的选定值,如何实现这一点? 我使用django表单的手动呈现,模板中包含以下代码: <div class="form-group row"> <label class="col-sm-3 col-form-label">Operating System</lab
<div class="form-group row">
<label class="col-sm-3 col-form-label">Operating System</label>
<div class="col-sm-9">
<select class="form-control" name="os_id" id="os_id" required>
<option value="">--Select--</option>
{% for os in os %}
<option value="{{ os.id}}">{{ os.key_name}}</option>
{% endfor %}
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-3 col-form-label">Title</label>
<div class="col-sm-9">
<textarea class="form-control" id="title" name="title" rows="3" required>{{ servicedesk.title }}</textarea>
</div>
</div>
模型:
class OperatingSystem(models.Model):
key_name = models.CharField(max_length=100,null=True)
key_description = models.CharField(max_length=255,null=True)
class Meta:
db_table = "operating_systems"
def __str__(self):
return self.key_name
class Software(models.Model):
key_name = models.CharField(max_length=100,null=True)
key_description = models.CharField(max_length=255,null=True)
class Meta:
db_table = "softwares"
def __str__(self):
return self.key_name
class Servicedesk(models.Model):
os_id=models.ForeignKey(OperatingSystem, on_delete=models.SET(0))
software_id = models.ForeignKey(Software, on_delete=models.SET(0))
title = models.CharField(max_length=255,null=True)
我试过这个,但不起作用:
<div class="form-group row">
<label class="col-sm-3 col-form-label">Operating System {{os_id}}</label>
<div class="col-sm-9">
<select class="form-control" name="os_id" id="os_id" required>
<option value="">--Select--</option>
{% for os in os %}
{% if os.id == servicedesk.os_id %}
<option value="{{os.id}}" selected>{{os.key_name}}</option>
{% endif %}
<option value="{{ os.id}}">{{ os.key_name}}</option>
{% endfor %}
</select>
</div>
</div>
操作系统{os_id}
--挑选--
{操作系统%中的操作系统为%s}
{%if os.id==servicedesk.os_id%}
{{os.key_name}
{%endif%}
{{os.key_name}
{%endfor%}
我建议您使用UpdateView
,这是django提供的基于类的视图。它为你做了很多工作。我会检查一下的。非常感谢。我建议您使用django提供的基于类的视图UpdateView
。它为你做了很多工作。我会检查一下的。非常感谢你。
<div class="form-group row">
<label class="col-sm-3 col-form-label">Operating System {{os_id}}</label>
<div class="col-sm-9">
<select class="form-control" name="os_id" id="os_id" required>
<option value="">--Select--</option>
{% for os in os %}
{% if os.id == servicedesk.os_id %}
<option value="{{os.id}}" selected>{{os.key_name}}</option>
{% endif %}
<option value="{{ os.id}}">{{ os.key_name}}</option>
{% endfor %}
</select>
</div>
</div>