私は django の初心者で、チュートリアル (パート 04) を終えたばかりなので、引き続きプロジェクトに認証を追加できるかどうかを確認したいと思います。polls_results ページへのアクセスを制限したいのですが、ログインしているときにのみ表示されます。最後の部分では、結果ページは汎用ビュー (DetailView) によって提供されます。これをサブクラス化し、オーバーライドされたディスパッチにメソッド デコレーターを追加しました。方法。
class VoteResults(DetailView):
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(VoteResults, self).dispatch(*args, **kwargs)
チュートリアルに従って、投票を送信した後、not authorized error
(401?) が表示されることを期待していますが、間違いなくログインしていなくても結果ページ (エラーなし) が表示されます。足りないものはありますか? 私が信じているドキュメントで示されているように、すべてのミドルウェアとインストールされたアプリは settings.py にあります。
ここで私が間違っている手がかりはありますか?
おそらく発送方法名のタイプミスです。したがって、デコレータはヒットしませんでした。