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


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

  • 相关阅读:
    kernel makefile分析 之include路径分析
    python模块,包,安装
    python 资源
    Python版QQ群发消息
    marvell 88f6282 工程包制作
    CPU : 二级缓存容量
    编译多个文件到内核模块
    展布频谱(Spread Spectrum, SS)
    编程练习 链表题目反序,合并
    汇编语言基础之七 框架指针的省略(FPO)
  • 原文地址:https://www.cnblogs.com/xiaoxi-3-/p/7975641.html
Copyright © 2011-2022 走看看