簡體   English   中英

Python、Django:編輯 inlineformset_factory

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM