简介:

基础搭建好了,开始读写数据库吧。毕竟写的程序,也没什么高深的,就是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项目结构(五)使用数据库的更多相关文章

  1. 一个比较良好的flask项目结构

    一个比较良好的flask项目结构 project/ app/                    # 整个程序的包目录 static/                 # 静态资源文件 js/    ...

  2. Flask项目中使用mysql数据库启动项目是发出警告

    Flask项目中使用mysql数据库启动项目是发出警告: Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA ...

  3. flask项目结构(四)使用sqlalchemy和alembic

    简介 其实我不是啥正经人,错了,不是啥正经程序员,所能想到的估计也就码农一级吧,高级程序员,搞什么算法,什么人工智能,大数据计算…………离我还太遥远. 但是这并不妨碍我继续学习,继续写垃圾小程序. 反 ...

  4. flask项目结构(三)使用蓝图

    简介: Flask中的蓝图旨在针对这些情况: 把一个应用分解成一系列的蓝图.对于大型的应用是理想化的:一个项目能实例化一个应用, 初始化一些扩展,以及注册一系列的蓝图. 以一个 URL 前缀和/或子域 ...

  5. flask项目结构(一)mariadb

    简介: 本文主要是根据自己所学,创建一个flask项目,使用sqlalchemy,alembic,mariadb,bootstrap,APScheduler,selenium,request…………技 ...

  6. flask项目结构(二)创建flask,同步docker

    简介: 建立flask容易,那么部署就比较麻烦了,配这个,配那个,更新………… 所以我从构建,就考虑部署的问题,使用docker部署. 程序都打包进docker,本博客有相关文章. pycharn直接 ...

  7. python flask 项目结构

    1. 今天学习遇到一个问题,以前项目比较简单,所有的@app.route 都是写在一个文件app.py 中的,然后启动也是在这个文件中启动app.run .但是我今天 想写一个新的模块, 于是我新启了 ...

  8. flask项目结构(六)快速开发后台flask-admin

    简介: Flask-admin 相当django的xadmin吧! 快速装配一个后台用来管理数据. Flask-admin也是有使用局限性的,他只适合开发小型快速的应用,不适合那种大型并发性高,逻辑复 ...

  9. Flask 项目结构(仅供参考)

    project/ app/ # 整个程序的包目录 static/ # 静态资源文件 js/ # JS脚本 css/ # 样式表 img/ # 图片 favicon.ico # 网站图标 templat ...

随机推荐

  1. java高并发解决方案

    高并发的解决方法有两种: 1.使用缓存 2.使用生成静态页面: (代码质量,不要性能低下的sql和代码.有的一条sql搞定的事,有人用了多个循环才能搞定.取决于程序员的经验!(还有就是从最基础的地方优 ...

  2. 日常英语---十二、MapleStory/Monsters/Level 1-10(Horny Mushroom)

    日常英语---十二.MapleStory/Monsters/Level 1-10(Horny Mushroom) 一.总结 一句话总结: horny-['hɔːnɪ]-adj.角的 Another m ...

  3. linux文件管理之bash shell

    BASH Shell 对文件进行管理 ========================================================创建.复制.删除.移动.查看.编辑.压缩.查找 内 ...

  4. Vue.js示例:GitHub提交(watch数据,created钩子,filters过滤); 网格组件(功能:1.检索,2排序);

    GitHub提交 codePen:   https://codepen.io/chentianwei411/pen/wEVPZo 注意:频繁看案例,可能会被限制. 重点: 表单输入绑定, 单选按钮的使 ...

  5. android ------- TCP与UDP

    TCP TCP(Transmission Control Protocol,传输控制协议) 即传输控制协议,是一种传输层通信协议 特点:面向连接.面向字节流.全双工通信.可靠 面向连接:指的是要使用T ...

  6. BGP华为、思科选路规则

    选路规则 华为BGP选路规则 思科BGP选路规则 第0条 下一跳是否可达,如果不可达则不参与选路 BGP 向IBGP对等体发布import引入的IGP路由时, 将下一跳属性改为自身的接口地址,而非IG ...

  7. Sphinx实时索引

    数据库中的数据很大,然后我有些新的数据后来加入到数据库中,也希望能够检索到,全部重新建立索引很消耗资源,这样需要用到“主索引+增量索引”的思路来解决,这个模式实现的基本原理是设置两个数据源和两个索引. ...

  8. 原生JS实现瀑布流布局

    瀑布流,又称瀑布流式布局.是比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部. 1.首先瀑布流所有的图片应该保持宽度一致,高 ...

  9. Django中cookie&session的实现

    1.什么叫Cookie Cookie翻译成中文是小甜点,小饼干的意思.在HTTP中它表示服务器送给客户端浏览器的小甜点.其实Cookie是key-value结构,类似于一个python中的字典.随着服 ...

  10. XML注释与取消注释快捷键

    IntelliJ IDEA和eclipse中编辑Java文件时,注释和取消注释的快捷键都是: "CTRL + / " 编辑xml文件时, 注释:CTRL + SHIFT + / 取 ...