flask项目结构使用数据库

Posted 上官飞鸿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 学习-16.项目设计与蓝图的使用

python Flask - 数据库片段

flask项目结构快速开发后台flask-admin

Flask16 项目结构

快速创建Flask Restful API项目