0
Django Genericビュー、DetailViewを使用しています。 しかし、まだ電子メール未確認の詳細投稿にユーザーがアクセスするのをブロックしたいと思います。 ユーザーモデルにemail_confirmedフィールドがあります。Djangoに条件を追加したいDetailView
私のコードは次のとおりです。
@method_decorator(login_required(login_url='/login/'), name='dispatch')
class RecruitView(generic.DetailView):
model = Recruit
template_name = 'recruit.html'
と私は追加したい:
if not request.user.email_confirmed:
error_message = "you did not confirmed yet. please check your email."
return render(request, 'info.html', {'error_message': error_message})
else: pass
がどのように私はDetailViewにこの条件を追加することができますか?
(私は「as_view」を上書きしようとしたが、私はそれを行う方法がわからない)
権限をチェックしていないので、['UserPassesTestMixin'](https://docs.djangoproject.com/en/2.0/topics/auth/default/#django.contrib.auth .mixins.UserPassesTestMixin)、 'test_func'をオーバーライドします。 – Alasdair
うわー!それは私の最初の質問でした、そして私は非常に印象的です!そんなにありがとう、私を救った:) –