Python系列-Django-Ninja

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

  • 实用为主,效果为主
  • 不重复造轮子,但应该知道其工作原理
  • 官网是最好的教程,其它只是辅助

ninja介绍

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

ninja的基本使用

pip install django
pip install django-ninja

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

  • 来自查询字符串的输入
    例如:http://127.0.0.1:8000/api/hello?name=Ninja,get请求用”?”号和指定参数拼接的方式

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

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

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

  • 创建一个新的app:
    python .\manage.py startapp employee

  • 注册:在 xxmyproject\settings.py中添加:
    Python系列-Django-Ninja
  • 在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)

Original: https://blog.csdn.net/bl_yang/article/details/127291883
Author: 在下杨六郎
Title: Python系列-Django-Ninja

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/735694/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球