1.本地有python 的环境
可以打开cmd窗口 输入 python 测试自己的电脑有没有python的环境,如果没有出现python的版本号则需要去下载python 并且配置环境变量
,
2.我用的是vscode 编译软件
自己在本地新建一个文件夹在vscode里打开或直接vscode里用命令行新建一个项目
新建一个命令行窗口 mkdir myproject 创建文件夹的脚本
命令行输入
cd myproject 进入到你新建的文件夹
py -m venv .venv 创建python 的虚拟环境
.venv\Scripts\activate 进入虚拟环境
pip install Flask 安装flask的依赖
在myproject文件夹下创建一个 app.py的文件
这里我们还用到了 pymssql依赖 是去链接azure sql数据库的和 python-dotenv 依赖是用来存储代码开发的环境变量的可以参考 (11条消息) Python dotenv os 环境变量的设置和获取_yy118323的博客-优快云博客
在 app.py 里粘贴下面的代码
from flask import Flask
import os
import pyodbc
import pymssql
from dotenv import load_dotenv
load_dotenv()
app = Flask(__name__)
@app.route('/')
def index():
connect = pymssql.connect(
#获取的azure sql 的服务器的名字 我这里用的是环境变量获取.env文件配置的环境变量
server = os.getenv("server"),
#获取的azure sql 的服务器的登录的用户名 我这里用的是环境变量获取.env文件配置的环境变量
user = os.getenv("user"),
#获取的azure sql 的服务器的登录的密码 我这里用的是环境变量获取.env文件配置的环境变量
password = os.getenv("password"),
#获取的azure sql 的用数据库名字 我这里用的是环境变量获取.env文件配置的环境变量
database = os.getenv("database"),
#值为 utf8
charset = os.getenv("charset"),
as_dict = True)
cursor = connect.cursor()
cursor.execute('SELECT * FROM Person')
rows = []
for row in cursor.fetchall():
print(row['Id'])
print(row['Name'])
rows.append(f"{row['Id']}, {row['Name']}")
return rows
@app.route('/age/<int:age_id>')
def login(age_id):
return f'{age_id}'
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5050)
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5050)
我的.env的内容
server = lisong.database.windows.net
user = 你的数据库登录的用户名
password = 你的数据库登录的密码
database = 你的数据库的名字
charset = utf8
这个代码运行的前提是你在Azure sql 的数据库创建一个名为Person的表,表里需要有Id 、Name的字段,并且你本机需要能访问到你的Azure sql 需要到Azure门户创建的azure sql 服务器配置防火墙规则
图片里1规则是配置的所有ip都能访问这个azure sql 数据库 2.规则是配置的只允许你自己当前的电脑ip去访问azure sql 如果你的电脑的wifi切换了只配1规则任然可以访问,但只配2规则你将不能访问azure sql ,因为你切换了网络你电脑的ip地址就变化了,需要重新配置2的规则,才能访问。
运行你的app.py文件 可以在命令行里输入python app.py 或者通过vscode点击这两个按钮的其中一个都可
左边的运行可以debug 右边的不能debug
运行成功的截图为:
通过在网页上输入命令行产出的url就可以调用你的flask api 去查询你的azure sql 数据库的 Person表的Id 和Name 字段的内容