#python #django #forms #model #django-class-based-views
Вопрос:
У меня есть код в urls.py:
from django.urls import path from tables.models import subcomponentsTable, rawMaterialsTable from tables.forms import subcomponentsTableForm, rawMaterialsTableForm urlpatterns = [path('newEquipment', views.createTableView.as_view(model=subcomponentsTable,form_class=subcomponentsTableForm), name='newEquipment'), path('newRawMaterial', views.createTableView.as_view(model=rawMaterialsTable, form_class=rawMaterialsTableForm), name='newRawMaterial'), ... etc. ]
и я хотел бы переработать его следующим образом, чтобы сделать его многоразовым для различных моделей и форм:
urlpatterns = [path('new/lt;slug:tableTypegt;', views.createTableView.as_view(), name='newInstance'),...
views.py:
class createTableView(LoginRequiredMixin, CreateView): template_name = 'tables/createTableTemplate.html'
какой метод в createTableView я должен перегрузить, чтобы я мог вычислить соответствующую форму и модель из slug:tableType и использовать ее в своем представлении? Чтобы сделать это правильно? Будет ли какая-то разница между UpdateView и DeleteView? Заранее благодарю вас!
Комментарии:
1. A
CreateView
не заботится о слизняке, так как он создает объекты, и, следовательно, нет объекта для обновления, отображения и т. Д.