# tor-web
**Repository Path**: yuerthe9/tor-web
## Basic Information
- **Project Name**: tor-web
- **Description**: 基于tornado web改良的web框架,在异步的世界里让web更贴近实战、更好用。
- **Primary Language**: Python
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2019-04-09
- **Last Updated**: 2022-07-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
使用说明
===
app = WebApplication(debug=True,login_url='/',file_extension='html',file_encoding='utf-8')
1、登录校验:
前提——需要配置login_url参数:app = WebApplication(login_url='/')。
需要重写get_current_user,返回当前登录用户信息。
默认——开启状态,对于登录、退出、首页等无需校验的url需要手动关闭检验:auth=False
运行时设置——无
样例:
@app.route('/login',auth=False)
class SayHandler(MainHandler):
def get(self):
self.render_text('
main - {{template}}
',{'template':txt})
2、角色控制:
前提——重写get_current_role,返回登录用户角色名称。
默认——不进行控制,默认值是空列表。
运行时设置——重写MainHandler.refresh_role(self),将动态的角色控制逻辑整理好,该方法将在运行时替换
装饰器的参数方式,也就是说如果重写了refresh_role那么优先进行处理。
样例:
@app.route('/login',role=['admin'])
class SayHandler(MainHandler):
def get(self):
self.render_text('main - {{template}}
',{'template':txt})
3、方法控制:
前提——无
默认——包含POST,GET
运行时设置——无
样例:
@app.route('/login',method=['GET'])
class SayHandler(MainHandler):
def get(self):
self.render_text('main - {{template}}
',{'template':txt})
4、日志控制:
前提——需要准备一个函数,参数有2个,第一个为handler的名称;第二个是该handler当时的request对象。
默认——None,不进行日志记录
运行时设置——无
样例:
@app.route('/login',log_func=log_to_mongodb)
class SayHandler(MainHandler):
def get(self):
self.render_text('main - {{template}}
',{'template':txt})
5、移动控制:
前提:无
默认:不区分pc/手机版,当设置此值后,如果监测到客户端是手机版将重定向到指定mobile_url处。
运行时设置:无
样例:
@app.route('/login',mobile_url='/mobile_login')
class SayHandler(MainHandler):
def get(self):
self.render_text('main - {{template}}
',{'template':txt})
6、token控制:
前提:参数中必须要有"token"参数
默认:不进行控制。
运行时设置:重写MainHandler.refresh_tokens(self),要求返回一个包含有效token的list。
样例:
@app.route('/login',token=True)
class SayHandler(MainHandler):
def refresh_tokens(self):
return ['1','2']
def get(self):
self.render_text('main - {{template}}
',{'template':txt})
版本说明
===
|版本号|说明|
|---|---|
|0.0.6.dev1|恢复send_error,同时提供before_exec/after_exec和before_render来帮助参与框架运行。避免通过重写来修改框架代码。|
|0.0.5.dev2|将send_error替换为raise HTTPError来中断请求|
|0.0.5.dev1|增加token控制|
|0.0.4.1.dev1|修正methods大小写问题|
|0.0.4.dev1|增加缓存|
|0.0.3.dev1|增加移动版本检查|
|0.0.2.dev1|增加命令行关闭回调|
|0.0.1.dev1|基础版本|