Search code examples
pythondjangoinline-formset

Python, Django: Editing inlineformset_factory


inside my app I'm using an inlineformset_factory and right know it's working fine! But when displaying it inside my template the labels are always staying right above the input-field. Is there any way to display them side-by-side or even move the label as some sort of placeholder inside the input-field?

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>

Thanks for all your help and have a great weekend!


Solution

  • Try this:

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

    You have to do this for every field

    #Changes

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