当前位置: 首页 > news >正文

成都企业网站建站跳转短链接生成

成都企业网站建站,跳转短链接生成,网站展示型广告,网站建实例前言 如果通过java生成实体类#xff0c;可以通过mybatis或者mybatis-plus的generator。 而sqlalchemy也可以生成实体类#xff0c;通过sqlalcodegen或者flask-sqlalcodegen。 使用flask-sqlalcodegen生成实体类 建表 建立学生表#xff0c;如下。 create table stude… 前言 如果通过java生成实体类可以通过mybatis或者mybatis-plus的generator。 而sqlalchemy也可以生成实体类通过sqlalcodegen或者flask-sqlalcodegen。 使用flask-sqlalcodegen生成实体类 建表 建立学生表如下。 create table student (id int primary key auto_increment not null comment 主键,id_card varchar(18) not null unique comment 学生身份证号,name varchar(10) not null comment 学生姓名,age int not null comment 学生年龄,enter_time datetime not null comment 入学时间 ); 使用flask-sqlalgencode建立model 安装 pip install flask-sqlalgencode  使用 代码如下。 import osconnect_url mysqlpymysql://root:123456localhost:3306/test # 使用pymysql cmd fflask-sqlacodegen {connect_url} --outfilemodels.py --tables student --flask--outfile 指定输出文件 --tables 指定需要生成的表名os.popen(cmd).read()可以看到在当前目录下生成了一个models.py文件其中代码如下。 # coding: utf-8 from flask_sqlalchemy import SQLAlchemydb SQLAlchemy()class Student(db.Model):__tablename__ studentid db.Column(db.Integer, primary_keyTrue, info主键)id_card db.Column(db.String(18), nullableFalse, uniqueTrue, info学生身份证号)name db.Column(db.String(10), nullableFalse, info学生姓名)age db.Column(db.Integer, nullableFalse, info学生年龄)enter_time db.Column(db.DateTime, nullableFalse, info入学时间)思考 获取表的信息 可以使用sqlalchemy的inspect模块中的方法 from sqlalchemy import create_engine,inspectengine create_engine(mysqlpymysql://root:123456localhost:3306/test) insp inspect(engine) ainsp.get_columns(student) for i in a:print(i) 打印的结果如下 {name: id, type: INTEGER(), default: None, comment: 主键, nullable: False, autoincrement: True} {name: id_card, type: VARCHAR(length18), default: None, comment: 学生身份证号, nullable: False} {name: name, type: VARCHAR(length10), default: None, comment: 学生姓名, nullable: False} {name: age, type: INTEGER(), default: None, comment: 学生年龄, nullable: False, autoincrement: False} {name: enter_time, type: DATETIME(), default: None, comment: 入学时间, nullable: False} 表的信息和flask-sqlalcodegen生成的信息很多相似的经过观察和分析。 可以得出结论 对于打印出的表的信息的字典来说 name作为属性 其他作为Column对象中的属性 提取表中的信息 上面已经可以获取表的信息现在就是提取表的信息为了和sqlalcodegen生成的代码接近笔者的代码如下。 from sqlalchemy import create_engine, inspectdef get_table_info(table_name):获取表字段:param table_name: 表名:return: 字段列表engine create_engine(mysqlpymysql://root:123456localhost:3306/test)insp inspect(engine)table_info insp.get_columns(table_name)columns []columns_package []for table in table_info:name table.pop(name) Column(column_type_name table.get(type).__visit_name__ # 获取类型名称columns_package.append(column_type_name)for k, v in table.items():if k comment: # 注释加上引号v \ v \if k type: # 获取类型property str(v)else:property k str(v) # 字符串拼接name property , column name[:-2] ) # 去掉最后的逗号加上括号print(column)columns.append(column)# 去重columns_package list(set(columns_package))return columns, columns_packageget_table_info(student) 打印的结果如下图所示。 看来还是可以的虽然类型有点差别。 表的信息放入的moke的模板中 需要pip安装mako。 根据sqlalcodegen写模板笔者使用mako作为模板库也可以使用jinjia2看个人喜好。 新建一个entity.txt文件其中内容如下。 from flask_sqlalchemy import SQLAlchemy %packages,.join(package)% from sqlalchemy import Column,${packages} db SQLAlchemy() % tableNametable_name.capitalize() % class ${tableName}Model(db.Model):__tablename__ ${table_name}% for column in columns:${column}% endfor 关于mako的具体用法可以参考官网。 welcome to Mako! (makotemplates.org) 运行测试 运行的代码如下。 from mako.template import Template from sqlalchemy import create_engine, inspectdef get_table_info(table_name):获取表字段:param table_name: 表名:return: 字段列表engine create_engine(mysqlpymysql://root:123456localhost:3306/test)insp inspect(engine)table_info insp.get_columns(table_name)columns []columns_package []for table in table_info:name table.pop(name) Column(column_type_name table.get(type).__visit_name__ # 获取类型名称columns_package.append(column_type_name)for k, v in table.items():if k comment: # 注释加上引号v \ v \if k type: # 获取类型property str(v)else:property k str(v) # 字符串拼接name property , column name[:-2] ) # 去掉最后的逗号加上括号columns.append(column)columns_package list(set(columns_package))return columns, columns_packagetemplateTemplate(filenameentity.txt) columns,packageget_table_info(student) print(template.render(table_namestudent, columnscolumns, packagepackage)) 结果如下。 from flask_sqlalchemy import SQLAlchemy from sqlalchemy import Column,INTEGER,DATETIME,VARCHAR db SQLAlchemy()class StudentModel(db.Model):__tablename__ studentidColumn(INTEGER, defaultNone, comment主键, nullableFalse, autoincrementTrue)id_cardColumn(VARCHAR(18), defaultNone, comment学生身份证号, nullableFalse)nameColumn(VARCHAR(10), defaultNone, comment学生姓名, nullableFalse)ageColumn(INTEGER, defaultNone, comment学生年龄, nullableFalse, autoincrementFalse)enter_timeColumn(DATETIME, defaultNone, comment入学时间, nullableFalse) 不知道有没有bug很有可能问题以后再修改。
http://www.pierceye.com/news/183172/

相关文章:

  • 静态网站需要数据库吗广州近期流行的传染病
  • 如何做国外的网站页面设计感想
  • 征婚网站认识的男人做定投保wordpress 中文 cms
  • 淄博百度网站建设上虞网站建设哪家好
  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案
  • 获奖设计网站公司制作网站价格表
  • 做单页免费模板网站我是做推广的怎么找客户
  • 企业网站建设的缺点网络营销最基本的应用方式是什么
  • 做cpa推广用哪种网站好上海h5网站开发
  • 怎样做免费网站推广怎么申请二级域名
  • 站长之家源码之家虚拟空间官网
  • 网站建设推荐书籍装修公司装修房子
  • 上海专业微信网站开发公司怎么做seo
  • 上海市质量工程建设管理协会网站网站后台源码
  • 淄博机关建设网站免费发布企业信息平台
  • 怎么注册网站免费的怎么给网站备案
  • 新公司 做网站 流程西安房价
  • 展厅设计软件珠海百度快速优化
  • 网站 关键词 地区seo对网络推广的作用是什么?
  • 网站建设 知乎wordpress woocommerce主题
  • 申请建设工作网站的函如何做网站词库
  • 化工集团网站建设 中企动力网站建设用的服务器