Using ModelForm to get labels in a DetailView

45 views
Skip to first unread message

bnmng

unread,
Sep 19, 2021, 8:02:02 AM9/19/21
to Django users
I don't know if this is good practice, but to get field labels in a DetailView, it seems to work fine if you just add a form to the context:

views.py:

class ItemDetailView(DetailView):

    model = Item
    context_object_name = "item"

    def get_context_data(self, **kwargs):
        context_data = super().get_context_data(**kwargs)
        context_data['form'] = ItemForm # just to get the labels
        return context_data


item_detail_view.html:

<div class="label">{{ form.name.label_tag }}</div><div class="value"> {{ item.name }}</div>
<div class="label">{{ form.notes.label_tag }}</div><div class="value"> {{ item.notes }}</div>
<div class="label">{{ form.asset_number.label_tag }}</div><div class="value"> {{ item.asset_number }}</div>
<div class="label">{{ form.serial_number.label_tag }}</div><div class="value"> {{ item.serial_number }}</div>
<div class="label">{{ form.network_name.label_tag }}</div><div class="value"> {{ item.network_name }}</div>

Reply all
Reply to author
Forward
0 new messages