以api 为中心的高性能web 框架 kpages
- 授权协议: MIT
- 开发语言: Python
- 操作系统: 跨平台
- 软件首页: https://github.com/comger/kpages
- 软件文档: https://github.com/comger/kpages
- 官方下载: https://pypi.python.org/pypi/kpages
软件介绍
kpages
kpages is mini helper for tornado,Contains the address routing management,tornado and app config management, mongodb, redis connection management and other functions; these supports can help you quickly build a web application.
Case
How to create kpages project (version >= 0.6.3.dev)
1. input command: kpages_init.py projectname # projectname: you project name, default is kpages_project 2. set you RequestHandler action dir
How to start kpages web application
python apprun.py or ./apprun.py
Params
config=CONFIG set config for server
port=PORT set http port for server
debug Debug mode.
ndebug No Debug mode.
How to start kpages mq
python service.py 或 ./service.py
Params
config=CONFIG set config for server
port=PORT set http port for server
debug Debug mode.
ndebug No Debug mode.
channel set channel for redis mq
How to router
restful/index.py(add @url to class , kpages will route url to this handler)
from kpages import url
@url(r'/',0)
@url(r'/home',2)
class HomeHandler(RequestHandler):
def get(self):
self.write('hello word')
setting.py
#config for tornado and you app, use __conf__.xxxx to get you config value ACTION_DIR = 'restful' DEBUG = True PORT= 8989
How to use kpages app
from kpages import run
def callback(app):
pass
if __name__ == '__main__':
run(callback)
How to use mongo and redis context?
from kpages import get_context, LogicContext,mongo_conv
with LogicContext():
db = get_context().get_mongo()
cache = get_context().get_redis()
lst = list(db['table'].find().limit(10))
lst = mongo_conv(lst)
How to use context in hander( with session )?
from kpages import ContextHandler
@url(r'/context/demo')
class DemoHandler(ContextHandler,tornado.web.RequestHandler):
def get(self):
db = get_context().get_mongo('dbname')
val = self.session(key)
self.session(key,val)
test command
run_test(test_city.DemoCase.testprint) :test testprint method run_test(test_city.DemoCase) :test methods in DemoCase class run_test(test_city) :test methods in test_city.py run_test(all ) :test methods in app's __conf__.UTEST_DIR
pro command
pro_test(test_city.DemoCase.testprint) :profile testprint method pro_test(test_city.DemoCase) :profile methods in DemoCase class pro_test(test_city) :profile methods in test_city.py pro_test(all) :profile methods in app's __conf__.UTEST_DIR
How to use uimodule and uimethod in kpages
1. kpages can auto find Ui_Module's subclass in ACTION_DIR
2. you can use {% module dir_modulename_classname() %} to call Ui Module
Demo Code
Class Demo(tornado.web.UIModule):
def render(self,name):
return self.render('<h1>Hello world:{0}</h1>'.format(name))
Template code
{% module Demo('kpages') %}
3. @reg_ui_method in ACTION_DIR's files, to apply Ui methods
Demo code
@reg_ui_method(name='testmethod',intro='demo for ui method')
def add(self,a,b):
return a+b
Template code
{{ add(3,4) }}
Data Structures and Algorithms
Alfred V. Aho、Jeffrey D. Ullman、John E. Hopcroft / Addison Wesley / 1983-1-11 / USD 74.20
The authors' treatment of data structures in Data Structures and Algorithms is unified by an informal notion of "abstract data types," allowing readers to compare different implementations of the same......一起来看看 《Data Structures and Algorithms》 这本书的介绍吧!
