【Sanic框架】第一章:框架搭建

2023-10-18 00:58
文章标签 搭建 框架 第一章 sanic

本文主要是介绍【Sanic框架】第一章:框架搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python框架搭建前需要做一些准备:python、pycharm、mysql、redis,这些都是前期或者后期用的到的东西。至于怎么准备,百度上有大量的经验来学习,这里就不做陈述了。

 

创建app

所有准备工作做完后就可以开始了,首先在pycharm上创建新项目,至于目录你们自己定义,下面虚拟环境一定要创建,最好不要用python全局的环境来写代码。

创建好之后,首先打开项目自带的命令行工具(terminal),或者cmd命令进入项目的虚拟环境中,运行命令:

pip install sanic  # 下载sanic 注意:sanic框架只支持python3.5以上的版本
pip freeze > requirements.txt  #把下载的相应包放到版本管理文件中

然后你就能看到项目中多了个requirement.txt文件,以后项目转移的时候就能用到。

包下载好了,就下来就开始写app.py文件了,首先写一个hello world:

from sanic import Sanic
from sanic.response import jsonapp = Sanic()@app.route("/")
async def test(request):return json({"hello": "world"})if __name__ == "__main__":app.run(host="127.0.0.1", port=8000)

运行这个文件:python3 app.py

打开浏览器127.0.0.1:8000就能看到hello world了

创建项目目录

当然,有这些显然还不够,对于一个大型项目来说,只靠代码是明显不行的。先搭建好各个需要用到的目录:

│  app.py                项目主文件
│  readme.txt            自述文件
│  requirements.txt      版本库管理工具
├─route                  路由
│  │  __init__.py
│  └─api_v1
├─static                 静态文件
│  ├─apidoc              接口文档
│  └─log                 日志
├─until                  公共文件
│  ├─base                连接池文件
│  │      mysql.py
│  │      redis.py
│  └─config              配置文件
│          settings.py
└─venv                   虚拟环境

蓝图

对于任何一个项目来说,路由不可能写在app文件中,主文件只需要写一些启动配置项就够了,那路由应该写到哪里去呢?

这里就用到了蓝图(blueprint)

先解释下蓝图:蓝图就是把项目划分为模块,也就是路由分块每个功能的路由单独存放一个文件,方便后期维护阅读,让程序更加松耦合,更加灵活,增加复用性,提高查错效率,降低出错概率。(百度有更具体的解释)

那么要怎么用呢,上面目录中有route目录就是我们存放划分后的路由的,api_v1文件夹是放各个模块的功能,__init__就相当于汇总了,

现在__init__.py文件中引入我们需要的模块blueprint,在api_v1文件夹中新建一个hello.py文件

from sanic import Blueprintapi = Blueprint('api_v1', __name__) #注意,变量名一定不要和文件夹名重复
from .api_v1 import hello

打开hello.py文件

from routes import api
from sanic.response import json@api.route('/hello')
def select(request):return json({'res': 1})

写完之后还不算完成,需要在app.py文件中添加配置

from sanic import Sanic
from routes import api     #这里先导入app = Sanic(__name__)if __name__ == "__main__":app.blueprint(api,url_prefix='/blog') #添加api的引用,这里有很多参数,可以去网上查询他的用法app.run(host="127.0.0.1", port=8000)

一个简单的路由就完成了。然后去请求一下

这篇关于【Sanic框架】第一章:框架搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/229118

相关文章

SpringBoot集成图片验证码框架easy-captcha的详细过程

《SpringBoot集成图片验证码框架easy-captcha的详细过程》本文介绍了如何将Easy-Captcha框架集成到SpringBoot项目中,实现图片验证码功能,Easy-Captcha是... 目录SpringBoot集成图片验证码框架easy-captcha一、引言二、依赖三、代码1. Ea

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python3中Sanic中间件的使用

《Python3中Sanic中间件的使用》Sanic框架中的中间件是一种强大的工具,本文就来介绍Python3中Sanic中间件的使用,具有一定的参考价值,感兴趣的可以了解一下... 目录Sanic 中间件的工作流程中间件的使用1. 全局中间件2. 路由中间件3. 异常处理中间件4. 异步中间件5. 优先级

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核