【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

相关文章

MongoDB搭建过程及单机版部署方法

《MongoDB搭建过程及单机版部署方法》MongoDB是一个灵活、高性能的NoSQL数据库,特别适合快速开发和大规模分布式系统,本文给大家介绍MongoDB搭建过程及单机版部署方法,感兴趣的朋友跟随... 目录前言1️⃣ 核心特点1、文档存储2、无模式(Schema-less)3、高性能4、水平扩展(Sh

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe