Друзья, пытаюсь сделать один template для всех create, один для всех update и т.д.
Сейчас есть миксины, вида:
class ObjectCreateMixin(ObjectAuthMixin):
form_name = None
template = None
def get(self, request):
....
def post(self, request):
....
Есть куча views классов для каждой модели, вида:
class SupplierGroupCreateView(ObjectCreateMixin, View):
form_name = SupplierGroupForm
template = 'suppliergroup_create.html'
И соответственно набор шаблонов типа suppliergroup_create.html, supplier_create.html и т.д. Шаблоны получаются полностью идентичные, перебор в цикле по полям формы. Единственное отличие в урле action'а.
Хочу убрать вот эту кучу шаблонов и сделать, чтобы был единый шаблон create.html для всех моделей.
Единственная мысль, которая приходит в голову, создать урл:
path('create/<str:model>/', CreateView.as_view(), name="create_url"),
и в классе CreateView задать лист, который по ключу model будет давать название формы для миксина.
В таком случае, на сколько я понимаю, я в функции get получаю из request model, выставляю атрибут класса и вызываю get родителя из Миксина?
Или я вообще смотрю не туда и есть другой метод?
Спасибо.