面向python的mvc框架

pymvc的Python项目详细描述


PYMVC

版权所有2018 Sileader和Cerussite。

概述

pymvc是一个类似mvc的python服务器端框架。 这个框架用的是烧瓶。

如何

如何安装

pip install pymvc

如何使用

importpymvc# setting: ex1pymvc.settings.database.database="pymmvc_example"# router: ex1. Add route by methodclassTopController(pymvc.Controller):VIEW="top.html"defget(self,**kwargs):passpymvc.add_route("/",TopController)# router: ex2. Add route by decorator@pymvc.route("/users/<id>")classUserController(pymvc.Controller):VIEW="user.html"defget(self,id):returnpymvc.render(id=id)# model: ex1. User manager modelclassUser(pymvc.Model):name=pymvc.StringType()id=pymvc.UniqueIdType(primary=True)if__name__=='__main__':pymvc.app.run()

pymvc.app是烧瓶实例。

  1. 设置数据库名称。(使用pymvc.settings.database.database属性)
  2. 创建类
    • 控制器类
    • 模型类
  3. 向路由器注册控制器类。
  4. 启动应用程序
    • 调用run()方法。
    • 使用pymvc.app作为wsgi应用程序。

控制器

控制器类有VIEW(类变量)和getpostputdelete实例方法。 如果要支持get方法,请重写get方法。 这些函数的默认操作是return abort(404)

型号

model类是mongodb的orm(使用pymongo)。 如果继承它,它将创建集合。

集合的数据被指定为类变量。

importpymvcclassOther1(pymvc.Model):passclassModelExample(pymvc.Model):string_data=pymvc.StringType()# stringint_data=pymvc.IntType()# integerfloat_data=pymvc.FloatType()# floatunique_data=pymvc.UniqueIdType()# UUIDforeign_data1=pymvc.ForeignType(Other1)# other collectionforeign_data2=pymvc.ForeignType("Other2")# other collectionclassOther2(pymvc.Model):pass

集合名称是类名的蛇形大小写。(例如,用户:用户,用户信息:用户信息)

模型数据类型

模型数据类型的构造函数参数是primarydefault

如果primaryTrue,则此值标记为主键。 default是默认值。

视图

pymvc添加一些jinja2函数。

functionoperation
load_one(model, primary=None, **query)load one data (using find_one)
load_many(model, primary=None, **query)load all data match query and primary data

model是必需参数。 primary是主键值。 键值提示是**query

依赖关系

  • 烧瓶
  • 皮蒙戈
  • MongoDB

许可证

apache许可证2.0

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

推荐PyPI第三方库


热门话题
安卓如何在java字符串中获取RATE的值   java ANT在哪里输出编译器错误?   在java中,while循环在何处启动对象   javacom。谷歌。格森。内部的LinkedTreeMap无法强制转换到我的类   java单选按钮。isSelected()方法未返回正确的响应   嵌入式系统中applet中的java相对码基字段   如何在eclipse中将Java应用程序附加到jvm探查器?   java为什么Android应用程序崩溃?   在java中拖放上传后保持文件夹结构   爪哇多领导人选举问题   java Springs RestTemplate如何处理postForEntity()中的错误响应   Java如何用前导零递增整数字符串?   java Android将文本作为图像共享给其他应用程序   Java搜索替换   java isDirectory()不适用于UNIX目录   java我们可以得到显示测试类是否通过或失败的TestNG报告吗   Java类对象排序和分组   简单Java幂递归   java在处理MethodArgumentNotValidException时如何访问请求对象?