TaleLin / lin-cms-flask

🎀A simple and practical CMS implememted by Flask

Home Page:http://doc.cms.talelin.com/

Repository from Github https://github.comTaleLin/lin-cms-flaskRepository from Github https://github.comTaleLin/lin-cms-flask

行为日志报错

01070 opened this issue · comments

代码版本:latest

python版本:3.8

复现过程:

克隆最新源码
配置数据库为 SQLite
在 api/v1/book.py 的新建图书接口按照官方文档: 行为日志(logger) 添加代码:

@login_required
@book_api.route("/<int:id>")
@Logger(template='{user.username}查询了一本图书') # 推送的消息
@api.validate(
    resp=DocResponse(BookNotFound, r=BookOutSchema),
    security=[AuthorizationBearerSecurity],
    tags=["图书"],
)
def get_book(id):
    """
    获取id指定图书的信息
    """
    book = Book.get(id=id)
    if book:
        return book
    raise BookNotFound

报错内容为

  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask\app.py", line 2091, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask_socketio\__init__.py", line 43, in __call__
    return super(_SocketIOMiddleware, self).__call__(environ,
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\engineio\middleware.py", line 74, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask\app.py", line 2076, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask\app.py", line 2073, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask\app.py", line 1518, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask_cors\extension.py", line 165, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask\app.py", line 1393, in handle_user_exception
    return self.ensure_sync(handler)(e)
  File "C:\PycharmProjectsPlus\lin-cms-flask-master\app\lin\lin.py", line 172, in handler
    raise e
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask\app.py", line 1516, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask\app.py", line 1502, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "C:\PycharmProjectsPlus\lin-cms-flask-master\app\lin\logger.py", line 127, in wrap
    self.user = get_current_user()
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask_jwt_extended\utils.py", line 90, in get_current_user
    get_jwt()  # Raise an error if not in a decorated context
  File "C:\Users\zhcs\anaconda3\envs\pipt-lin\lib\site-packages\flask_jwt_extended\utils.py", line 24, in get_jwt
    raise RuntimeError(
RuntimeError: You must call `@jwt_required()` or `verify_jwt_in_request()` before using this method