![](/img/trans.png)
[英]Django inlineformset_factory not saving or editing modelform with choices
[英]Python, Django: Editing inlineformset_factory
在我的应用程序中,我使用的是 inlineformset_factory 并且知道它工作正常。 但是当在我的模板中显示它时,标签总是停留在输入字段的正上方? 有什么方法可以并排显示它们,甚至将 label 作为输入字段内的某种占位符移动?
视图.py
formset = inlineformset_factory(Model_A, Model_B, can_delete=False, extra=0, fields=('fields_01', 'fields_02', 'fields_03'))
模板.html
<form method="post">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
{{ form }}
{% endfor %}
<button type="submit">Save</button>
</form>
感谢您的所有帮助,祝您周末愉快!
尝试这个:
<form action="" method="POST">
{% csrf_token %}
{{ form.management_form }}
{% for field in form %}
{{field.product.label}} - {{field.product}} #here product is my field name
<hr>
{% endfor %}
<input type="submit" name="Submit">
</form>
你必须对每个领域都这样做
#变化
<form method="post">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
{{ form.Field_name.label }} - {{form.Field_name}} #1st field
{{ form.Field_name.label }} - {{form.Field_name}} #2nd field
{% endfor %}
<button type="submit">Save</button>
</form>
我认为显示是受css影响的。
使用F12在chrome中查看css,查找原因。
您可以编辑 css 以更改显示。
或者使用 django-widgets-improved 和 bootstrap 将 class 设置为表单字段。
{% load widget_tweaks %}
<form method="post">
{% csrf_token %}
{{ formset.management_form }}
{% for form in formset %}
{% for field in form %}
{% render_field field class="form-control" %}
{% endfor %}
{% endfor %}
<button type="submit">Save</button>
</form>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.