zoukankan      html  css  js  c++  java
  • Flask入门的第一个项目进阶版

    前言:

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


    一、数据库设计

    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


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

  • 相关阅读:
    经典SQL语句大全
    主键,外键,主键表,外间表
    一个不错的shell 脚本教程 入门级
    初窥Linux 之 我最常用的20条命令
    try catch finally 用法
    一个初学者对于MVC架构的理解
    第二次阶段冲刺2(6月1号)
    第二次阶段冲刺1(5月31号)
    学习进度条十三(第14周)
    学习进度条十二(第13周)
  • 原文地址:https://www.cnblogs.com/xiaoxi-3-/p/7975641.html
Copyright © 2011-2022 走看看