医生和病人案例 增删改查

from flask import Flask,request,redirect
from flask_sqlalchemy import SQLAlchemy
from flask import  render_template
from flask_wtf import  FlaskForm
from wtforms import  StringField,SubmitField
from wtforms.validators import  DataRequiredapp = Flask(__name__)#1配置数据库信息
class Config(object):# 连接数据库SQLALCHEMY_DATABASE_URI = 'mysql://root:123@127.0.0.1:3306/fk02'# 设置sqlalchemy 自动更新SQLALCHEMY_TRACK_MODIFICATIONS = True#配置secret_keySECRET_KEY='avav'

方法二 # # 1.项目路径
# import os
# basedir = os.path.abspath(os.path.dirname(file)) # E:\flask_pro\day02\blogProject
#
# app = Flask(name)
# app.config[‘SQLALCHEMY_DATABASE_URI’] = ‘sqlite:///’ + os.path.join(basedir, ‘blog.sqlite’)

app.config.from_object(Config)#创建SQLALchemy 对象
db=SQLAlchemy(app)#创建数据模型
class Doctor(db.Model):__tablename__='tb1_doctor'id=db.Column(db.Integer,primary_key=True)name=db.Column(db.String(32),nullable=False)patient=db.relationship('Patient',backref='doctor')#关系字段def __repr__(self):return '<obj:name:{}>'.format(self.name)class  Patient(db.Model):__tablename__ = 'tb1_patient'id = db.Column(db.Integer, primary_key=True)name = db.Column(db.String(32), nullable=False)doctor_id=db.Column(db.Integer,db.ForeignKey('tb1_doctor.id'))#外键def __repr__(self):return '<obj:name:{}>'.format(self.name)#7创建路由和视图
@app.route('/')
def index():#1获取数据库中所有的医生和病人doctor_obj_list=Doctor.query.all()#返回页面return  render_template('index.html',doctor_obj_list=doctor_obj_list)class DoctorPatientForm(FlaskForm):doctor_name=StringField(label='主治医生',validators=[DataRequired('必填!!!')])patient_name=StringField(label='患者',validators=[DataRequired('必填!!!')])submit=SubmitField(label='添加')#8添加医生
@app.route('/add_doctor',methods=['GET','POST'])
def add_doctor():#1创建模型类对象dpf=DoctorPatientForm()if request.method=='POST':#校验if dpf.validate_on_submit():#获取表单提交过来的信息doctor_name=dpf.doctor_name.datapatient_name=dpf.patient_name.data#保存数据库#创建医生doctor_obj=Doctor(name=doctor_name)db.session.add(doctor_obj)db.session.commit()#创建病人patient_obj=Patient(name=patient_name,doctor_id=doctor_obj.id)db.session.add(patient_obj)db.session.commit()#重定向到首页return redirect('/')返回界面return render_template('add_doctor.html',dpf=dpf)#删除病人
@app.route('/delete_patient')
def delete_patient():#1获取idid=request.args.get('id')#删除数据库中的记录patient_obj=Patient.query.get(id)db.session.delete(patient_obj)db.session.commit()#重定向到首页return redirect('/')##修改病人或医生
@app.route('/xiugai')
def xiugai_patient():if __name__ == '__main__':#导入pymysql
import pymysql
pymysql.install_as_MySQLdb()
#创建表格
# db.drop_all()#删除所有表格
# db.create_all()#创建所有表格
#
# #添加数据
# d1=Doctor(name='刘争争')
# d2=Doctor(name='刘小争')
# d3=Doctor(name='刘大争')
# db.session.add_all([d1,d2,d3])
# db.session.commit()
#
# p1=Patient(name='刘争1',doctor_id=d1.id)
# p2=Patient(name='刘争2',doctor_id=d2.id)
# p3=Patient(name='刘争3',doctor_id=d3.id)
# p4=Patient(name='刘争4',doctor_id=d1.id)
# p5=Patient(name='刘争5',doctor_id=d2.id)
# db.session.add_all([p1,p2,p3,p4,p5])
# db.session.commit()app.run(debug=True)

HTML

index

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>首页</title>
</head>
<body>
<a href="/add_doctor">添加</a><ul>{% for doctor_obj in doctor_obj_list %}<li>主治医生:{{doctor_obj.name}}<a href="/xiugai_patient?id={{patient_obj.id}}">修改</a></li>{% for patient_obj in doctor_obj.patient %}<li>病人:{{patient_obj.name}}<a href="/delete_patient?id={{patient_obj.id}}">删除</a><a href="/xiugai_patient?id={{patient_obj.id}}">修改</a></li>{% endfor %}{% endfor %}</ul>
</body>
</html>

add_doctor

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>添加医生</title>
</head>
<body><form action="/add_doctor" method="post">{{dpf.csrf_token}}{{dpf.doctor_name.label}}:{{dpf.doctor_name}}<span>{{dpf.doctor_name.errors.0}}</span><br/>{{dpf.patient_name.label}}:{{dpf.patient_name}}<span>{{dpf.patient_name.errors.0}}</span><br/>{{dpf.submit}}</form></body>
</html>

flask:小项目(医生与病人)相关推荐

  1. Python学习笔记--Flask小项目之仿豆瓣电影界面

    目录 知识点 效果图 前期准备 创建项目 创建视图 创建模板 1. 创建宏 第一个宏(itemGroup) 第二个宏(listGroup) 2. 创建父模板 3. 创建首页模板 4. 创建" ...

  2. flask小项目打开教学

  3. 初学者c语言心里测试小项目

    心里测试小项目 注:程序使用easyx函数库进行图形化编程,需下载并安装easyx库 心里测试 心里测试小项目 一.前言 介绍 参考资源 编译环境 运行效果图 二.头文件 三.主要函数 四.具体代码 ...

  4. python小项目实例流程-Python小项目:快速开发出一个简单的学生管理系统

    原标题:Python小项目:快速开发出一个简单的学生管理系统 本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: ...

  5. python小项目案例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  6. android简单小项目实例_自学(系统学)Python了那么久, 想就业? 几个简单小项目让你通过面试!...

    本人从事Python开发多年,精通爬虫,web,熟悉其他方向,好多小伙伴私聊我说,我看了你的文章后,我学习了,但是对于项目这块还是不是很熟悉,如何快速掌握几个小项目,以及几个可以面试的项目.欢迎大家订 ...

  7. python项目开发实例-Python小项目:快速开发出一个简单的学生管理系统

    本文根据实际项目中的一部分api 设计抽象出来,实例化成一个简单小例子,暂且叫作「学生管理系统」. 这个系统主要完成下面增删改查的功能: 包括: 学校信息的管理 教师信息的管理 学生信息的管理 根据A ...

  8. 快速上手Flask(一) 认识框架Flask、项目结构、开发环境

    文章目录 快速上手Flask(一) 认识框架Flask.项目结构.开发环境 Web开发轻量级框架Flask Flash历史和团队 Pallets 项目 flask运行过程 使用flask的场景 使用P ...

  9. 机器学习六步曲——“小马医生”养成记

    编者按:近年来,机器学习和大数据领域的突破进展使人工智能急速回温,训练计算机模拟甚至实现人类的学习行为则是目前人工智能领域最受关注的研究课题之一.很多人都难以想象,看似冷冰冰的机器如何能在短时间内学得 ...

  10. 开源Python小项目

    原文地址:开源Python小项目贡献! (github.com) 自述文件模板 项目 SR 否 项目 描述 作者 1 掷骰子刺激器Dice rolling Stimulator 这是一个使用Pytho ...

最新文章

  1. Python输出py文件模拟代码高亮
  2. 每天一道LeetCode-----二叉树逐层遍历,每一层存在一个序列中,返回所有序列集合
  3. java进制原码_Java 一一 进制、原码 反码 补码、移位操作
  4. SAP BTP 平台 Cloud Application Programming 编程模型概述
  5. CodeForces 841C (C) Leha and Function 贪心
  6. 2013蓝桥杯java试题_2013年第四届蓝桥杯javaB组 试题 答案 解析
  7. 树莓派4b连接手机热点wifi及远程桌面连接
  8. laravel 框架中的路由
  9. python tif转jpg_怎样把TIF转化为JPG图片格式
  10. Entrez Direct-入门
  11. 开发游戏十年,遭遇游戏开发史上最诡异事件,然而被我成功解决了!
  12. VS2015中“项目无法加载,因为它缺少安装组件”的解决方法
  13. 《痞子衡嵌入式半月刊》 第 68 期
  14. python中函数的作用不包括_Python 列表不包含了以下哪个内置函数( )_财经法规答案_学小易找答案...
  15. 新手自主创业需要注意哪些误区?
  16. android 天气 没有广告,收集几款无广告的纯净天气App
  17. 综述(七)北斗导航系统详述
  18. 口袋妖怪php源码,查看“主题:宝可梦”的源代码
  19. SQL 错误 [1064] [42000]: The partition column could not be aggregated column
  20. Java正则表达式(一)、抓取网页email地址实例

热门文章

  1. 线性代数同济第六版_线性代数不考内容+大纲等
  2. oracle分析函数详解
  3. C# Winform 开发框架 devexpress控件源码
  4. 通过linux内核如何读取pmbus总线上的数据,linux PMBus总线驱动设计分析(示例代码)...
  5. 使用Git bash软件计算文件MD5值
  6. 一个普普通通大四学生的2021
  7. wps表格在拟合曲线找点_excel拟合曲线函数表达式,excel散点拟合出来的公式看不懂。请问怎么写入表格使用?...
  8. excel线性拟合的斜率_Excel 应用SLOPE函数计算线性回归线的斜率
  9. turtle画动态时钟
  10. KKK下拉框lookupedit绑定数据时,添加一条固定数据