面向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 Grid loadmask(true)在gxt中不起作用   java将字符串索引转换为整数   为什么Java泛型适用于基元数组,但不适用于基元数组?   java如何让Azure应用程序服务Tomcat将所有80/443流量转发到运行在同一应用程序服务上的JBoss   具有多个值的java转换映射到树?   java如何设置SQL server连接URL?   java设置了多个相互独立的JFrame   安全性在JAVA中如何使用RSAPrivateKey的密码短语?   java不能使用比Apache Velocity中更大的条件   如何在Java中打印字符串的所有排列   停止Android Studio自动导入java。sql。日期   对象简单计算器程序java   java如何在安卓中使用“&”符号作为字符串?   java Connect,为我的安卓应用程序从REST API发布和获取数据