views.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # **************************************************************************
  4. # Copyright © 2017 jianglin
  5. # File Name: views.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2017-03-13 13:29:37 (CST)
  9. # Last Update:星期一 2017-3-13 13:31:23 (CST)
  10. # By:
  11. # Description:
  12. # **************************************************************************
  13. from flask import request, current_app
  14. from flask.views import MethodView
  15. from flask_login import login_required
  16. class BaseMethodView(MethodView):
  17. @property
  18. def page_info(self):
  19. page = request.args.get('page', 1, type=int)
  20. if hasattr(self, 'per_page'):
  21. per_page = getattr(self, 'per_page')
  22. else:
  23. per_page = current_app.config.setdefault('PER_PAGE', 20)
  24. number = request.args.get('number', per_page, type=int)
  25. if number > 100:
  26. number = per_page
  27. return page, number
  28. class IsAuthMethodView(BaseMethodView):
  29. decorators = [login_required]