Flask-restful приложение не удается, когда включена аутентификация
Я получаю эту ошибку всякий раз, когда я пытаюсь включить аутентификацию, используя flask_httpauth для моего проекта flask_restful:
AttributeError: 'function' object has no attribute 'as_view'
Вот очень простой пример: apicontroller.py:
from flask_restful import Resource, Api
from flasktest import api, app
from flask_httpauth import HTTPTokenAuth
auth = HTTPTokenAuth()
@auth.login_required
class ApiController(Resource):
def get(self):
return True
api.add_resource(ApiController, '/api/apicontroller')
init.py:
from flask import render_template
from flask import Flask, request, render_template, session, flash, redirect, url_for, jsonify
from flask_restful import Resource, Api, reqparse, fields
from flask_httpauth import HTTPTokenAuth
app = Flask(__name__)
api = Api(app)
import flasktest.apicontroller
Всякий раз, когда я украшаю класс контроллера с @auth.login_required
, это терпит неудачу с упомянутой ошибкой. Как я могу это исправить?
1 ответ
Решение
Я считаю, что вы не можете не применять декораторы к классу.
Чтобы решить это:
from flask_restful import Resource, Api
from flasktest import api, app
from flask_httpauth import HTTPTokenAuth
auth = HTTPTokenAuth()
class ApiController(Resource):
decorators = [auth.login_required]
def get(self):
return True
api.add_resource(ApiController, '/api/apicontroller')