Я пытаюсь написать приложение CRUD, используя общие представления на основе классов Djangos.Ниже приведен код, который я написал для создания нового пользователя в БД.
from django.views.generic import CreateView
from django.contrib.auth.decorators import login_required
from django.contrib import messages
class UserCreateView(CreateView):
"""
Display and accept a new user to be created in db
"""
form_class = ProfileForm
template_name = 'userdb/profile_form.html'
success_url = '/organization/users/'
def post(self, request, *args, **kwargs):
messages.success(request, "Success", extra_tags='msg')
return super(UserCreateView, self).post(request, *args, **kwargs)
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(UserCreateView, self).dispatch(*args, **kwargs)
Обратите внимание, что для добавления сообщения об успехе, которое будет отображаться для пользователя, мне пришлось расширить функцию post.Я знаю, что это не очень хороший способ сделать это, так как, когда эта функция вызывается, не решается, содержит ли отправленная форма правильные данные.Поэтому у меня такой вопрос: есть ли рекомендуемый способ объединения инфраструктуры обмена сообщениями Djangos с общими представлениями на основе классов?