一 安装flask-sqlalchemy

pip install flask-sqlalchemy

二 导入相关模块和对象

from flask_sqlalchemy import SQLAlchemy

三 配置

# 此处是配置SQLALCHEMY_DATABASE_URI, 前面的mysql+pymysql指的是数据库的类型以及驱动类型
# 后面的username,pwd,addr,port,dbname分别代表用户名、密码、地址、端口以及库名 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@localhost:3306/firewall'
# 这里登陆的是root用户,要填上自己的密码,MySQL的默认端口是3306
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False # ???True会报错 # 创建1个SQLAlichemy实例
db = SQLAlchemy(app)

四 定义数据表映射类

class StaticRoute(db.Model):
__tablename__ = 'static_route_config' id = db.Column(db.Integer, autoincrement=True, primary_key=True)
d_ip_mask = db.Column(db.String(100), unique=False, nullable=False)
next_gateway = db.Column(db.String(100), unique=False, nullable=False) __mapper_args__ = {
"order_by": id.desc()
} def __init__(self, d_ip_mask, next_gateway):
self.d_ip_mask = d_ip_mask
self.next_gateway = next_gateway @staticmethod
def add_db(d_ip_mask, next_gateway):
db.session.add(StaticRoute(d_ip_mask, next_gateway))
db.session.commit() # python中使用默认值实现函数的重载
@staticmethod
def get_db(id=-1):
if id >= 0:
return StaticRoute.query.get(id)
else:
return StaticRoute.query.order_by('id') @staticmethod
def del_db(id):
db.session.delete(StaticRoute.query.get(id))
db.session.commit() @staticmethod
def update_db(id, d_ip_mask, next_gateway):
sr = StaticRoute.query.get(id)
sr.d_ip_mask = d_ip_mask
sr.next_gateway = next_gateway
db.session.add(sr)
db.session.commit()

五 创建数据库和数据表

在创建表之前,最好先 清空一下表,再创建,不然会报一些奇怪的错误 ,使用db.create_all() 清空表

flask之flask-sqlalchemy(一)的更多相关文章

  1. Flask 中的 SQLAlchemy 使用教程

    Flask 是一个 python web micro framework.所谓微框架,主要是 flask 简洁与轻巧,自定义程度高.相比 django 更加轻量级. 之前一直折腾 django,得益于 ...

  2. Flask 系列之 SQLAlchemy

    SQLAlchemy 是一种 ORM 框架,通过使用它,可以大大简化我们对数据库的操作,不用再写各种复杂的 sql语句 了. 说明 操作系统:Windows 10 Python 版本:3.7x 虚拟环 ...

  3. flask连接数据库mysql+SQLAlchemy

    使用flask框架链接2种数据库 ----------db.py # -*- coding: utf-8 -*- # Flask hello world from flask import Flask ...

  4. Flask01 初识flask、flask配置

    1 什么是flask Flask是一个使用 Python 编写的轻量级 Web 应用框架.其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 . 百度百科:点击前往 中文文档: ...

  5. Python flask 基于 Flask 提供 RESTful Web 服务

    转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...

  6. [Flask]学习Flask第三天笔记总结

    from flask import Flask,render_template,request from others import checkLogin app = Flask(__name__) ...

  7. 【Flask】Flask学习笔记(一) 应用基本结构

    初始化 使用前必须创建一个应用实例 from flask import Flask app = Flask(__name__) 路由和视图函数 请求流程 客户端(web浏览器)-->  web服 ...

  8. python框架之Flask(1)-Flask初使用

    Flask是一个基于 Python 开发并且依赖 jinja2 模板和 Werkzeug WSGI 服务的一个微型框架,对于 Werkzeug 本质是 Socket 服务端,其用于接收 http 请求 ...

  9. cannot import name 'Flask' from 'flask'

    今天发现了智障的真我. 刚入门flask,建了一个文件命名叫flask.py 在virtualenv的容器里运行该py文件,报错cannot import name 'Flask' from 'fla ...

  10. flask框架----flask中的wtforms使用

    一.简单介绍flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装: pip3 install wtforms 二.简单使用wtfo ...

随机推荐

  1. 打造一款1kb大马并且处理D盾以及安全狗拦截与查杀

    在之前sky666提到了关于大马被waf拦的问题,我决定手动去过一下bypass.可是发现怎么也过不去查杀,更别说拦截了.对此无奈,只好花了个通宵去处理一下.顺便一提,理论过所有Waf,并且被杀只需要 ...

  2. xml约束技术之dtd

    DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块.这篇文章作简单介绍下DTD的用法.想学习完整的请点击下面w3c的教程. 1.DTD官方教程 ##2.xml约束技术: DTD约束:语法相 ...

  3. 新公司,环境搭建,windows上的坑

    1 在windows上安装nodejs环境,node -v 后可以看到版本号 2 在windows上安装nvm管理node的版本,可以对node版本自由切换,使用5.3.0版本的node 3 在win ...

  4. typescript项目中import 图片时报错:TS2307: Cannot find module ‘...’

    最近在用typescript写项目时,我用import来加载一个图片,webpack编译文件是会报错如下: 报错: 解决: 如果在js中引入本地静态资源图片时使用import img from './ ...

  5. selenium+python+unittest:一个类中只执行一次setUpClass和tearDownClass里面的内容(可解决重复打开浏览器和关闭浏览器,或重复登录等问题)

    unittest框架是python自带的,所以直接import unittest即可,定义测试类时,父类是unittest.TestCase. 可实现执行测试前置条件.测试后置条件,对比预期结果和实际 ...

  6. scrapy抓取中文后乱码解决方法

    出现这种东西不是乱码,是unicode,只是人看不懂,例如: \u96a8\u6642\u66f4\u65b0> \u25a0\u25a0\u25a 我们把他解码成中文码即可,在settings ...

  7. 使用Django-environ管理多个配置

    使用Django-environ管理多个配置 https://django-environ.readthedocs.io/en/latest/

  8. 换个角度看Salesforce之基础配置学习笔记(二)

    1. 登录后无法使用Developer Console? 先找到当前登录用户的Profie,然后勾选Profile中的View All Data(Modify All Data)即可: 2. Pers ...

  9. python+selenium打开浏览器报错问题

    报关键字,升级selenium版本 若打开IE浏览器,停在IE界面,无法跳转对应的地址,设置一下IE的页面缩放,设置为100%

  10. HttpClient登陆后获取并携带cookies发起请求

    最近项目中,用到了登陆后获取并携带cookies发起请求的业务场景,现总结写出来备忘一下. 1.定义存取cookies信息的全局变量 public class HttpUtil { /** * 用来存 ...