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

经开区网站建设在一起做网店的网站的怎么购买

经开区网站建设,在一起做网店的网站的怎么购买,如何做好网站优化,wordpress 创建招生网tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库#xff0c;所谓表关系#xff0c;只是人为认为的添加上去的表与表之间的关系#xff0c;只是逻辑上认为的关系#xff0c;实际上数据库里面的表之间并没有所谓的表关系 一、一对一表关系 Module #需…tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库所谓表关系只是人为认为的添加上去的表与表之间的关系只是逻辑上认为的关系实际上数据库里面的表之间并没有所谓的表关系 一、一对一表关系   Module #需要先创建对应的Module这里采用之前建立好的User和UserDetailsrelationship from sqlalchemyorm import relationship #在Userdatails中添加如下代码 userdetail relationship(User,backrefdetails,uselistFalse,cascadeall)#使用 row session.query(User).get(1) rows.details   relationship userdetail relationship(User,backref details,uselistFalse,cascadeall) #在使用relationship的时候上面必须要有ForeignKey #类名 User表示关联的Module # 在子类中通过relationship里面的backref向父类User加上details这个属性 #uselistFalse 代表relationship不再表示一对多关系了表示一对一的关系了 #cascade表示自动关系处理就和mysql中的ON DELETE 类似 #cascade所有的可选字符串项1、all,所有操作都会自动处理到关联对象上2、save_update关联对象自动添加到会话3、delete关联对象自动从会话中删除4、delete-orphan属性中去掉关联对象则会话中会自动删除关联对象5、mergesession.merge()是会处理关联对象6、refresh-expiresession.expire()时会处理关联对象7、expunge,session.expunge()时会处理关联对象#自动添加属性 #在刚才这里User里面本来是没有details这个属性的但是在UserDetails里面添加relationship之后User实例会自动添加上details属性#relationship #表关系是逻辑关系但是mysql中并没有直接说明表关系的东西外键约束是一个表现形式外键是一种表之间的约束可以用来表示这种关系 #在SQLAlchemy里面这个relationship代表了一对多的关系当然我们可以通过参数改变关系它默认为是一对多的关系而这个关系是SQLAlchemy里面的和数据库并没有什么关系但是relationship是和外键一起使用的 #在relationship.py中输入一下代码from connect import session from user_modules import User,UserDetailsrows session.query(User).get(2) #获得id为2的数据信息 print(rows) print(rows.username) print(rows.details)rows session.query(UserDetails).get(1) print(rows) print(rows.userdetail) #只要确定好一对一的关系子类的userdetail和父类的details属性都可以得到对应的数据 二、多对多关系 #用户与服务器之间的关系可以看成是一对多的关系但是用户转载的关系就可以看成是多对多的关系如何在SQLAlchemy表示多对多的关系呢 #在user_modules.py里面添加记得要导入Table模块 from sqlalchemy import Tableuser_article Table(user_article,Base.metadata,Column(user_id,Integer,ForeignKey(user.id),primary_keyTrue),Column(article_id,Integer,ForeignKey(article.id),primary_keyTrue)) #中间表写法class Article(Base): #文章Module__tablename__ articleid Column(Integer,primary_keyTrue,autoincrementTrue)content Column(String(500),nullableTrue)create_time Column(DateTime,defaultdatetime.now)article_user relationship(User,backrefarticle,secondaryuser_article)#跟上面的区别在于没有uselistsecondary参数传入中间表def __repr__(self):return Article(id%s,content%s,create_time%s)%(self.id,self.content,self.create_time) 三、包管理 #把Module写好以后该如何导入呢 #在模块中直接导入 from data.user_modules import User #从data包下面的user_modules.py里面导入User #这就会涉及到包管理#包的概念 #把很多模块放到一个文件夹里面就可以形成一个包#包管理 #当把很多模块放在文件夹中的时候为了方便引用包中的模块引入包管理__init__.py #在包管理中加入此模块则包名可以直接通过属性访问的方式访问此模块内的对象此模块不加上可能不会报错但是规范是要加上文件内容可以为空#相对路径导入 #在包管理中可以通过.一个点和..两个点分别来导入同层和上一层的模块 #相对路径导入#引入作用 #在包中如果包中模块要导入同一包中的其他模块就必须使用此方法导入#使用方法 from .module(..module) import obj (as new_name)#引入以后的影响 #当一个模块中出现此导入方式则该模块不能被直接运行直接被导入 四、简单的登录 import tornado.httpserver import tornado.ioloop import tornado.options import tornado.web from tornado.options import define,options import time import util.ui_methods import util.ui_modules from data.user_modules import User #导入module包 define(port,default8080,help run port,typeint) def haha():return this is hahahaahclass LoginHandler(tornado.web.RequestHandler):def get(self, *args, **kwargs):self.render(lesson2.html)def post(self, *args, **kwargs):user self.get_arguments(name)password self.get_argument(password,)username User.by_name(user)if username and password username[0].password:self.render(login_07.html,username username)else:self.write(用户名或密码错误)application tornado.web.Application(handlers[(r/login,LoginHandler),],template_path templates,static_path static,autoescape None,ui_methodsutil.ui_methods,ui_modulesutil.ui_modules,debugTrue)if __name__ __main__:tornado.options.parse_command_line()http_server tornado.httpserver.HTTPServer(application)http_server.listen(options.port)tornado.ioloop.IOLoop.instance().start() !DOCTYPE html html langen headmeta charsetUTF-8titleTitle/titlelink relstylesheet hrefcss/bootstrap.cssstyle* {margin: 0;padding: 0;}/style /head body{% if username %}欢迎用户{{ username }}登录brimg src{{ static_url(images/1.jpg)}} width250 height250br{% else %}您还没有登录{% end %} /body /html #在user_module.py里面导入 from .connect import Base,session#在User类里面写入classmethoddef by_name(cls,name):return session.query(cls).filter(cls.usernamename).all() #通过装饰器来获取类名  转载于:https://www.cnblogs.com/xuchengcheng1215/p/9028537.html
http://www.yutouwan.com/news/229114/

相关文章:

  • 做外贸面料哪个网站可以接单网站安全检测怎么关掉
  • 网站建设工作总结6品牌注册查询官网入口
  • 海南七星彩网站开发淘宝客网站需要备案
  • 东营网站建设费用网站开发综合设计报告
  • 楚雄网站建设公司一站式免费建站平台
  • 网站建设商虎小程序蚌埠做网站公司
  • 百度seo新站优化制作一个购物网站
  • 北海教网站建设个人做视频网站烧钱
  • 重庆网站建设公司价格珠海网页模板建站
  • 商业网站开发设计报告南宁网站搜索引擎优化
  • 郑州专业网站制作服务报价二手车网站开发多少钱
  • asp提高网站安全性的措施教育机构网站源码
  • 三网一体网站建设网络传媒公司怎么注册
  • iis7 asp网站运行缓慢达州达县网站建设
  • 教做潮男的网站岳阳seo优化
  • 做网站运营的女生多吗最简单的网站代码
  • 茶叶门户网站建立如何查看网站流量
  • 龙泉市旅游门户网站建设引流效果最好的平台
  • 外贸专业网站制作做网站推广被骗
  • 网站建设一年600做代理需要自己的网站吗
  • 镇江建工建设集团网站12306网站建设费用
  • 搭建个人网站定制开发app软件
  • 现在用什么软件做网站公司logo在线设计生成器
  • 萧山做网站的公司做网站准备内容
  • 专业的制作网站开发公司优化大师会员兑换码
  • 扬州市做网站做dm素材网站
  • 帝国cms7.0网站地图工信部域名备案管理系统
  • 网站首页开发wordpress教程阿里云
  • 十大计算机培训学校合肥网站优化费用
  • 太原公司网站建立c2c网站建站的标准