IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python系列-Django-Ninja -> 正文阅读

[Python知识库]Python系列-Django-Ninja

Python系列-Django-Ninja

适用对象:有一定python和django基础,对此技术感兴趣,或者想快速尝试、实现效果的。
原则:

  • 不重复造轮子
  • 实用为主,效果为主
  • 官网是最好的教程,其它只是辅助

ninja介绍

Django Ninja 是一个使用 Django 和 Python 3.6+ 类型提示构建 API 的 Web 框架。
官网地址

  • 做记录,加强记忆和总结经验
  • 为什么做这个教程:新技术,目前国内外针对这个库所出的教程还比较少

ninja的基本使用

安装

pip install django
pip install django-ninja

基本使用

实现最基本的hello world
参考教程,官网

  • 创建一个目录(例如project)存放工程
  • 创建django工程:django-admin startproject myproject
  • 在myproject/urls.py的同级目录里创建api.py,按照官网教程分别在api.py和urls.py里写入代码
  • 运行工程:python manage.py runserver

或者参考视频教程

ninja的解析输入

参考教程,官网
或者参考视频教程

  • 来自查询字符串的输入
    例如:http://127.0.0.1:8000/api/hello?name=Ninja,get请求用“?”号和指定参数拼接的方式
  • 默认值
    当没有输入指定参数时的返回值
  • 输入类型
    对参数输入做类型校验,不符合校验则作拦截
  • 从路径输入
    自定义路径输入
  • 来自请求正文的输入
    post请求
  • 自记录 API文档
    超级实用的自带功能,可以根据写好的api接口自动生成文档,可以查看、测试。
    http get post方法介绍
    为什么示例中post方法会报405:不允许静态文件响应POST请求

ninja的处理响应

参考教程,官网
或者参考视频教程
同步数据库:python manage.py migrate
创建一个用户:python manager.py createsuperuser

  • 定义响应模式
    @api.get("/me", response=UserSchema)
  • 多种响应类型
    ``@api.get(“/me”, response={200: UserSchema, 403: Error})

ninja的增删改查

CRUD——创建 、检索、更新、删除是持久化存储的四个基本功能。
参考教程,官网
或者参考视频教程

  • 创建一个新的app:
    python .\manage.py startapp employee
  • 注册:在xxmyproject\settings.py中添加:
    在这里插入图片描述
  • 在employee目录下新建api.py
  • 添加路由
  • 同步数据库
    python manage.py makemigrations
  • 创建数据库
    python manage.py migrate
  • vscode查看sqlite数据库的插件 SQLite

异常情况

  • 如果有外键,一定要添加on_delete=models.CASCADE,否则会报错
    models.ForeignKey(Department, on_delete=models.CASCADE)
  • 报错django.db.utils.IntegrityError: FOREIGN KEY constraint failed
    解决办法:
    其他推荐答案
    尝试将False的db_constraint的名称参数设置为False(默认情况下,其True)如下:
    status = models.ForeignKey(Status, on_delete=models.PROTECT,db_constraint=False)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:28:59  更:2022-10-17 12:31:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 2:31:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计