[英]Editing django forms using django bootstrap forms
我正在使用django表单,并且正在使用ui的django引导表单( https://django-bootstrap-form.readthedocs.org/en/latest/ )。 我能够使用django bootstrap表单在html中创建表单。 现在的问题是我想编辑表单并更新数据库中的记录。
我的问题是我如何使用Django Bootstrap表单来提供用于编辑的表单
例如:我正在使用
<form role="form" action="/abc/" method="POST">{% csrf_token %}
<div class="form-group">
{{ form.name.errors }}
{{ form.name|bootstrap }}
</div>
</form>
这是第一次填写表格。 当我单击编辑选项时,我希望使用相同的UI,但使用value =“ the_value_saved_in_the_database”
{{ form.name|bootstrap value="_data_"}}
我该如何实现? 希望您理解问题。
提前致谢
在呈现表单之前,您需要为表单加载数据(称为绑定表单)。 如果表单表示您已存储在模型中的某些数据,则创建一个ModelForm
并传入要为其编辑数据的模型实例。
这是一个例子:
class AddressBook(models.Model):
name = models.CharField(max_length=200)
email = models.EmailField()
class AddressForm(forms.ModelForm):
class Meta:
model = AddressBook
def edit_address(request, pk=None):
existing_entry = AddressBook.objects.get(pk=pk)
form = AddressForm(instance=existing_entry)
return render(request, 'edit.html', {'form': form})
在urls.py
:
url('^address/edit/(?P<pk>\d+)$', 'edit_address', name="edit"),
url('^address/save/$', 'save_address', name="save"),
现在,当您调用视图http://localhost:8000/address/edit/1
,将使用主键为1
准备好进行编辑的条目的数据填充表单。 在您的模板中,只需呈现表单,然后将其指向保存视图:
<form method="post" action="{% url 'save' %}">
{% csrf_token %}
{{ form|bootstrap }}
</form>
如果您将经常这样做,那么使用基于类的通用视图(例如CreateView
, EditView
)可以简化代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.