python商城开发_使用FastAPI 构建的商城项目API

本文介绍了一个使用FastAPI构建的Python商城项目的详细情况,包括项目目录结构、环境配置、数据库对象、模块划分、数据迁移和依赖安装等步骤。通过阅读,读者可以了解到如何设置开发和生产环境,并理解FastAPI结合SQLAlchemy进行API开发的方法。
摘要由CSDN通过智能技术生成

使用FastAPI 构建的商城项目API

学习FastAPI 构建项目目录

构建项目接口

环境

项目文件结构

文件结构是仿照Flask项目目录构建的,官方推荐的模版对我而言太大。

.

|_FastDemo // 主项目文件

|

|___api

| |_____init__.py // 工厂模式生成app对象

| |____v1

| |____database.py // 数据库对象

| |____schemas.py // 验证参数 (可放到对应模块内)

| |____models.py // models模型类型 (可放到对应模块内)

| |____home // 项目模块文件

| | |____home.py

| | |______init__.py

| | |____home_backup.py

| |____category

| | |______init__.py

| |______init__.py

| |____profile

| | |____profile.py

| | |______init__.py

| |____goods

| |____goods.py

| |____goods_backup.py

|____test // 测试用例

| |______init__.py

| |____test_sqlite.py

|____utils // 工具类

| |______init__.py

| |___response_code.py // 自定义返回的状态码

|____setting // 配置文件夹

| |______init__.py // 根据虚拟环境 导出不同配置

| |____development_config.py // 开发环境配置

| |____production_config.py // 生产环境配置

|____extensions // 扩展文件

| |______init__.py // 导出扩展文件

| |____logger.py //

|____alembic // alembic 初始化自动生成的

| |____script.py.mako

| |____env.py

| |____versions

| |____README

|____alembic.ini // alembic 初始化自动生成的

|____.gitignore

|____requirements.text // 依赖文件

|____main.py // 项目启动文件

|____mall_data.sql // mysql insert 数据

|____mall_table.sql // msyql表格

|____README.md

|____Pipfile

|____Pipfile.lock

配置环境

setting目录下 init.py文件,会根据ENV的环境变量 导入不同的环境

development_config.py // 开发环境配置 production_config.py // 生产环境配置

如果不配置, 就只能访问 backup 备份的接口

导入数据

mall_data.sql // mysql insert 数据

mall_table.sql // msyql表格

上面两个文件是mysql数据, 需自行导入

安装依赖

# 推荐先安装pipenv

pip install pipenv -i https://mirrors.aliyun.com/pypi/simple/

# 先进入到项目文件下

cd /项目目录/MallAPI

# 安装pipenv python版本3.7+

pipenv install --python 3.8 # 注意 --python空格3.8

# 安装完后激活环境

pipenv shell

# 安装依赖

pip install -r requirements.text -i https://mirrors.aliyun.com/pypi/simple/

启动

cd /项目目录/MallAPI

# 在main.py文件同级目录下 执行

uvicorn main:app --host=127.0.0.1 --port=8010 --reload

当然也可以直接执行

python main.py

配置文件环境变量

# Pycharm 环境变量

https://stackoverflow.com/questions/21538859/pycharm-set-environment-variable-for-run-manage-py-task/22899916

https://stackoverflow.com/questions/42708389/how-to-set-environment-variables-in-pycharm

sqlalchemy + alembic数据迁移

尝试使用sqlalchemy + alembic 但是之前使用的Flask-Sqlalchemy扩展,迁移数据库很方便, 研究这个感觉很麻烦,算了直接使用sql语句,数据表手动创建

# 安装

pip install alembic

# 初始化 生成alembic配置文件

alembic init alembic

参考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值