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')
Другие вопросы по тегам