djangoのview.pyでリクエストからユーザーを取得して処理を実装しようとしていた際に
TypeError: consume_points() missing 1 required positional argument: 'request
に直面して時間を食ってしまったので備忘録を載せておきます。
原因(結論)
関数ベースビューで"self"を使ってユーザー情報を取得しようとしていたことが原因でした。
実際に、下記のような間違った書き方をしていました。
def proccess(self,request):
if request.method == 'POST':
user = self.request.user
#以下省略
selfを使うのは、クラスビューベースで定義するときのようです。
解決策
selfを使わず、以下のように書けばエラーを回避できます
def proccess(request):
if request.method == 'POST':
user = request.user
#以下省略