from flask import Flask,request,views
from functools import wraps app = Flask(__name__) #自定义登录装饰器
def login_required(func):
@wraps(func)
def wapper(*args,**kwargs):
username = request.args.get('username')
if username and username == 'xiaowu':
return func(*args,**kwargs)
else:
return '请先登录'
return wapper @app.route('/')
def index():
return '网站首页' @app.route('/setting/')
@login_required
def setting():
return '这是设置页面' #类视图怎么使用装饰器
class ProfileView(views.View): decorators = [login_required]
def dispatch_request(self):
return "个人中心页面" app.add_url_rule('/profile/',endpoint='profile',view_func=ProfileView.as_view(
'profile'
))
if __name__ == '__main__':
app.run(debug=True)

最新文章

  1. UVa #11582 Colossal Fibonacci Numbers!
  2. CF #296 (Div. 1) A. Glass Carving 线段树
  3. Ubuntu镜像使用帮助
  4. C/C++访问PostgreSQL数据库
  5. 组合vs继承
  6. SqlHelper include Transaction
  7. 《Java编程那点事儿》读书笔记(三)——static,this,抽象类,接口和包
  8. PHP开发APP接口---返回数据的封装类
  9. python版本简历
  10. 文成小盆友python-num2 数据类型、列表、字典
  11. hdu 5630 Rikka with Chess
  12. openGl学习之加入颜色
  13. python成长之路——第三天
  14. PHPMailer 命令执行漏洞(CVE-2016-10033)分析(含通用POC)
  15. Java微信公众平台开发_07_JSSDK图片上传
  16. python 创建列表和向列表添加元素方法
  17. 使用lua读文件并输出到stdin
  18. Angular4学习笔记-目录汇总
  19. servlet cdi analysis
  20. 永无BUG

热门文章

  1. 前端Web浏览器基于Flash如何实时播放监控视频画面(三)之使用ffmpeg‘推流’
  2. 交换机配置——三层交换机实现VLAN间通信
  3. poj 2718 Smallest Difference(暴力搜索+STL+DFS)
  4. js监听transition过渡事件
  5. Rabbitmq的高级特性
  6. DB 分库分表(4):多数据源的事务处理
  7. xftp上传文件到虚拟机linux失败问题
  8. Qt加载本地字体 .ttc或.ttf
  9. Oracle 表空间扩容
  10. [ASP.NET应用到的时间处理函数]