Personal Catalogue: Django & PostgreSQL — Chapter 5, Exercise 1 ==================================================== TASK Build the form, view, template, and label-swapping script from this chapter, then add one real item of each of the four types through this new public form. SOLUTION 1. catalogue/forms.py — the ItemForm ModelForm as given in the chapter, with CheckboxSelectMultiple used for the tags widget. 2. catalogue/views.py — ItemCreateView, plus the LABELS dictionary and the get_context_data override that builds creator_labels and format_labels from it, exactly as shown. 3. catalogue/urls.py — add: path('add/', views.ItemCreateView.as_view(), name='item_add'), 4. catalogue/templates/catalogue/item_form.html — extending base.html, rendering the two json_script tags, the {% csrf_token %}, and {{ form.as_p }}, plus the closing