Проблема с универсальными представлениями на основе классов в Django

Я пытаюсь написать приложение 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)

Обратите внимание, что для добавления сообщения об успешном выполнении, которое будет отображаться пользователю, мне пришлось расширить функцию публикации. Я знаю, что это не лучший способ сделать это, так как при вызове этой функции не решается, содержит ли отправленная форма достоверные данные. Итак, мой вопрос: существует ли рекомендуемый способ объединения инфраструктуры обмена сообщениями Djangos с универсальными представлениями на основе классов?

13
задан vim 21 June 2011 в 04:23
поделиться