ログイン中のユーザーがログイン可能かどうかをis_activeで確認し、そのアクセス方法をrequest.user.is_activeで取得することも分かるのですが、ログイン中のユーザーの退会方法が分かりません。
単純にrequest.user.is_active = 'False'と代入すればいけると思ったのですが、その一瞬だけしかFalseにならずsaveしないといけないっぽいです。saveが上手く行かないのかもしれません。
以下コードですが、手順としては以下2点です。
1、hiddenのフォームにFalseを初期値で設定。
2、POSTでそのFalseをrequest.user.is_activeに代入。
デバッグのためいくつか不要なものもありますがご容赦ください。
宜しくお願いいたします。
class WithdrawalForm(forms.Form): active = forms.CharField(initial='False') def withdrawal(request): if request.method == 'GET': return render(request, "account/withdrawal_form.html", { 'form': WithdrawalForm(), 'message' : request.user.is_active, }) form = WithdrawalForm(request.POST) if not form.is_valid(): #正しく通らないなら return render(request, "account/withdrawal_form.html", { 'form': form }) request.user.is_active = form.cleaned_data['active'] request.user.save() return render(request, "account/mypage.html", { 'message': request.user.is_active })
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/21 22:45
2016/08/21 22:49