flask项目结构(五)使用数据库
简介:
基础搭建好了,开始读写数据库吧。毕竟写的程序,也没什么高深的,就是CRUD,中文说是增删改查。
一:在数据库中增加测试数据。
在项目根目录建立init_test.py
from config import Base,db_session
from models.models import *
from app.app01.app01_models import * add_public=public(
name='jack_public',
email='jack_public@jackadam.ml',
)
add_private=private(
name='jack_private',
email='jack_private@jackadam.ml',
)
db_session.add(add_public)
db_session.add(add_private)
db_session.commit()
db_session.remove()
public_user=public.query.filter_by(public_name='jack_public').first()
print(public_user.public_email)
private_user=private.query.filter_by(private_name='jack_private').first()
print(private_user.private_email)
执行结果为:
jack_public@jackadam.ml
jack_private@jackadam.ml
读取两个邮件地址。
二:在app/main中使用
修改/app/main/views.py
from flask import Blueprint
from models.models import * # 新加,引入models
from app.app01.app01_models import * # 新加,引入models main = Blueprint('main', __name__) @main.route('/')
def show():
public_user = public.query.filter_by(public_name='jack_public').first() # 新增数据库查询
private_user = private.query.filter_by(private_name='jack_private').first() # 新增数据库查询
msg = public_user.public_email + '<p>' + private_user.private_email # 组织返回代码
return msg # 修改返回内容为刚组织好的代码
三:本机测试
我们只修改了默认首页的返回。首页返回数据如下

四:同步到服务器
syncthing同步
五:生成新docker镜像
./rebuild.sh
六:测试服务器运行状态
我的服务器及发布端口是8800

七:写个测试脚本
上次就是部署之后老断开数据库连接。
那么这次写个脚本进行循环测试:
import requests
r=requests.get('http://192.168.1.3:8800')
print(r.status_code)
import time
t2 = time.strftime('%Y-%m-%d %H:%M:%S')
print(t2)
i = 1
while True:
try:
r=requests.get('http://192.168.1.3:8800/app02',timeout=2)
if r.status_code !=200:
print(time.strftime('%Y-%m-%d %H:%M:%S')+'-----------bed')
break
else:
print(time.strftime('%Y-%m-%d %H:%M:%S')+'--ok')
time.sleep(1)
i+=1
except:
print(time.strftime('%Y-%m-%d %H:%M:%S') + '-----------bed')
代码写的烂,也没存记录。
就是一直傻跑而已。
如果错了,那就停了
十:遗漏
现在还差路由,静态文件,权限几部分。
flask项目结构(五)使用数据库的更多相关文章
- 一个比较良好的flask项目结构
一个比较良好的flask项目结构 project/ app/ # 整个程序的包目录 static/ # 静态资源文件 js/ ...
- Flask项目中使用mysql数据库启动项目是发出警告
Flask项目中使用mysql数据库启动项目是发出警告: Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA ...
- flask项目结构(四)使用sqlalchemy和alembic
简介 其实我不是啥正经人,错了,不是啥正经程序员,所能想到的估计也就码农一级吧,高级程序员,搞什么算法,什么人工智能,大数据计算…………离我还太遥远. 但是这并不妨碍我继续学习,继续写垃圾小程序. 反 ...
- flask项目结构(三)使用蓝图
简介: Flask中的蓝图旨在针对这些情况: 把一个应用分解成一系列的蓝图.对于大型的应用是理想化的:一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图. 以一个 URL 前缀和/或子域 ...
- flask项目结构(一)mariadb
简介: 本文主要是根据自己所学,创建一个flask项目,使用sqlalchemy,alembic,mariadb,bootstrap,APScheduler,selenium,request…………技 ...
- flask项目结构(二)创建flask,同步docker
简介: 建立flask容易,那么部署就比较麻烦了,配这个,配那个,更新………… 所以我从构建,就考虑部署的问题,使用docker部署. 程序都打包进docker,本博客有相关文章. pycharn直接 ...
- python flask 项目结构
1. 今天学习遇到一个问题,以前项目比较简单,所有的@app.route 都是写在一个文件app.py 中的,然后启动也是在这个文件中启动app.run .但是我今天 想写一个新的模块, 于是我新启了 ...
- flask项目结构(六)快速开发后台flask-admin
简介: Flask-admin 相当django的xadmin吧! 快速装配一个后台用来管理数据. Flask-admin也是有使用局限性的,他只适合开发小型快速的应用,不适合那种大型并发性高,逻辑复 ...
- Flask 项目结构(仅供参考)
project/ app/ # 整个程序的包目录 static/ # 静态资源文件 js/ # JS脚本 css/ # 样式表 img/ # 图片 favicon.ico # 网站图标 templat ...
随机推荐
- JAVA基础知识总结:十六
一.File类 主要用于文件操作 对存储在磁盘上的文件和目录的抽取和封装 二.IO流 1.概念 File类只能创建或者修改文件或者文件夹的层级结构,如果要访问文件中的内容的话,就需要用到IO流(Inp ...
- (转)stm32启动文件详解
在<<STM32不完全手册里面>>,用的是STM32F103RBT6,所有的例程都采用了一个叫STM32F10x.s的启动文件,里面定义了STM32的堆栈大小以及各种中断的名字 ...
- Genome-wide gene-environment analyses of depression and reported lifetime traumatic experiences in UK Biobank
Genome-wide gene-environment analyses of depression and reported lifetime traumatic experiences in U ...
- 记 linux 下面初次使用的convert 工具完成拼长图功能
今天,遇到了一个需要把大量图片合并到一个长图的功能.本来找了各种图片处理界顶顶大佬.. “PS(手动一张张 的加).光影魔术手(批处理功能没有看到拼图功能).美图秀秀(可以有个拼图,限制30张,而且需 ...
- Python自学:第二章 数字 整数
>>>2 + 3 5 >>>3 - 2 1 >>>3 * 2 6 >>>3 / 2 1.5
- 关于新手用java写题目,遇到的字符和字符串问题
我看到一遍很好的博客: https://blog.csdn.net/qq_37267015/article/details/78738512 1.首先了,java之中,没有像C语言那样的getchar ...
- android主流开源库
网络框架:Volley 和 Async Volley特点:能使网络通信更快,更简单.更健壮 Get,Post网络请求及网络图像的高效率 Async:高效的网络数据请求, 解析成json 持久化cook ...
- python记录_day27 tcp/ip五层模型
## 网络协议按照不同的功能分为多层,目前存在的模型有osi七层模型.tcp/ip五层和tcp/ip四层模型 我们主要用的是tcp/ip五层模型 那么每层的作用是什么呢,现在就从设计者的角度自下到上逐 ...
- python记录_day12 生成器
什么是生成器? 生成器的实质就是迭代器,我们能够从生成器中一个一的拿值 python中获取生成器的方式有三种: 1.通过生成器函数 2.通过生成器表达式 3.通过数据转换也可以获取生成器(某些对象执行 ...
- Navicat 的安装及破解
本地环境: ubutun 14 1.安装. ①先老实选择官方试用版安装(不推荐在各个下载平台去下载) 中文版:http://www.navicat.com.cn/download/navicat-fo ...