用于Web开发的PYTHON微框架。API文档现已提供。

ario的Python项目详细描述


MaintenancePercentage of issues still open

Ario-Python轻量级微框架

flask-based framework which is working with jinja2 and wrekzeug

这个框架是Wish团队为web开发而开发的。这个项目是由这个团队维护的,希望能使web开发更容易、更快。在

动机

这个框架的主要概念就像烧瓶。但它只是像一个调度器一样工作,你可以很容易地使用任何你想要的库。您不依赖于任何第三个特定的库,也没有任何正则表达式匹配您的url,这可能会导致您的系统重做。您可以只使用一个修饰符来指定响应的结果,比如@html或{},这只会帮助您专注于开发。在

安装

使用pip安装和更新:

pip install ario

使用

首先,您应该导入所需的类。RouterController, Endpoint, Application应该被导入,json, html, setup_jinja, jinja, redirect, forbidden, ok是任意的。在

^{pr2}$

设置模板:

setup_jinja("./templates")

例如,如果要定义两个端点,其中一个是json,另一个是jinja,我们应该定义如下:

control=RouterController(debug=True)@control.route(method=["GET","POST","HEAD"],route="/")classExampleEndpoint(Endpoint):@jsondefget(request,response):data={"name":"john","family_name":"doe","age":21,"phone_number":"12345678"}returndata@control.route(method=["GET","POST"],route="/user/$id")classExampleEndpoint(Endpoint):@jinja("base.html")defget(request,response,id):params={"my_string":id,"my_list":[0,1,2]}returnparams

记住使用jinja decorator时,应该在template文件夹中插入一个base.html文件 毕竟,我们使用werkzeug对端口进行套接字:

if__name__=='__main__':app=Application(control)app=SharedDataMiddleware(app,{'/static':os.path.join(os.path.dirname(__file__),'templates/static')})print('Demo server started http://localhost:5000')run_simple('127.0.0.1',5000,app,use_debugger=True,use_reloader=True)

只需输入python yourfile.py,就可以轻松运行代码

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java以编程方式最小化JInternalFrame?   java使用JsonPath将不均匀列表提取为类型化对象   spring如何将java/resources文件获取到InputStream?   Java逻辑错误并不总是存在   java Firebase,更新特定字段   Java stream groupby并同时加入以进行csv导出   java安卓:如果出现任何声音,监听器将录制声音   java如何从多个文件中轮询最后修改的文件并发送到apache camel中的目标端点?   java是否返回多个比较器?   JavaBean IO:Date MMM在CAPS中不解析   当JButton从另一个类单击时,java正在更新JLabel   基类中子类的Java泛型初始化   jakarta ee Java ee制作一个以毫秒为间隔的计时器来发送数据包   json Windows Azure日期格式转换为Java日期