Djangosクラスベースのジェネリックビューを使用してCRUDアプリケーションを作成しようとしています。以下は、dbに新しいユーザーを作成するために書いたコードです。Djangoのクラスベースのジェネリックビューの問題
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メッセージングフレームワークとクラスベースの一般的なビューを組み合わせる方法が推奨されていますか?
私は以前に 'form_valid'関数を実装しようとしましたが、リクエストオブジェクトにアクセスする方法が見つからないため、機能しませんでした。これはうまく動作します非常にありがとう! – vimukthi
np!それがうれしかった –