博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flask入门的第一个项目进阶版
阅读量:7067 次
发布时间:2019-06-28

本文共 949 字,大约阅读时间需要 3 分钟。

前言:

此次版本增加【一对多】数据库关系和动态路由设置。


一、数据库设计

environments表与variable1表的关系为:一对多。variable1.env_id设置为外键,与environments表建立关系。

 
 
 

二、建立数据库模型

如下图所示,Variable模型中的env_id列被定义为外键,就是这个外键建立起了关系。传给db.ForeignKey()的参数'environments.id'表明,这列的值是environments表中行的id值。 


三、多表查询 

1、查找environments表中的id为1,对应的所有Variable数据

Variable.query.filter_by(env_id=1).join(Environments, Variable.env_id == Environments.id)

2、查找environments表中的id为1,对应的一条Variable.id 为2的Variable数据

Variable.query.filter_by(env_id=1,id=2).join(Environments,Variable.env_id == Environments.id).first_or_404()


四、匹配动态url

在Flask中,可以将URL中的可变部分使用一对小括号<>声明为变量, 并为视图函数声明同名的参数:

@app.route('/delete/<int:id>')

@app.route('/change/<int:env_id>/<int:id>',methods=['GET','POST'])

endpoint的映射包含变量: 

redirect(url_for('show_variable_list',_external=True,env_id=env_id))


五、开源代码

https://github.com/wangxiaoxi3/Flask_test_1


以上,希望能对你有所帮助~~欢迎交流,共同进步~~

作者:

出处:
如果对您有帮助,请关注我的同名简书:
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

你可能感兴趣的文章
Visual Studio Code 断点调试 Vue
查看>>
checkbox jquery 全选反选
查看>>
非专业游戏CPU多核性能研究
查看>>
vue-quill-editor-upload : 实现vue-quill-editor上传图片到服务器
查看>>
开始使用GitLab CI/CD
查看>>
pandas使用
查看>>
MAC
查看>>
【中美技术专家分享实录】微服务的挑战
查看>>
Java8: Stream
查看>>
HTTP 协议
查看>>
VirtualDOM与diff(Vue实现)
查看>>
推送近期三波关于Vue.js的资讯
查看>>
TOP100summit 2017 七牛云许式伟:不用JAVA和C语言,我为什么坚持Go语言
查看>>
有个空间,名叫 Gamma
查看>>
js声明提升
查看>>
React 、 ES6 - 介绍(第一部分)
查看>>
LNMP环境搭建(Ubuntu)
查看>>
Java的Fork/Join任务
查看>>
Python WSGI
查看>>
vim行复制和行删除
查看>>