【问题标题】:Python, Django: Editing inlineformset_factoryPython、Django:编辑 inlineformset_factory
【发布时间】:2021-03-26 09:43:07
【问题描述】:

在我的应用程序中,我使用的是 inlineformset_factory 并且知道它工作正常!但是当在我的模板中显示它时,标签总是停留在输入字段的正上方。有什么方法可以并排显示它们,甚至将标签作为某种占位符移动到输入字段内?

views.py

formset = inlineformset_factory(Model_A, Model_B, can_delete=False, extra=0, fields=('fields_01', 'fields_02', 'fields_03'))

template.html

<form method="post">
    {% csrf_token %}
    {{ formset.management_form }}
    {% for form in formset %}
        {{ form }}
    {% endfor %}
    <button type="submit">Save</button>
</form>

感谢您的所有帮助,祝您周末愉快!

【问题讨论】:

  • 向我们展示您的模板
  • 您需要为此发布 html 渲染和 CSS,因为这是一个标记问题。

标签: python django inline-formset


【解决方案1】:

试试这个:

<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>

【讨论】:

    【解决方案2】:

    我认为显示是受css影响的。
    在chrome中使用F12查看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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-14
      • 1970-01-01
      • 2016-02-21
      • 2019-04-01
      • 2018-05-08
      • 1970-01-01
      • 2015-06-27
      • 2011-01-10
      相关资源
      最近更新 更多