使用Docker创建Django RESTful API的无捷径指南

No Shortcuts Guide to Django RESTful APIs with Docker

使用 Docker、Celery、Redis、Flower、Nginx、Nginx Proxy manager、Portainer 等构建功能性 API……

 学习内容

  • 您将学习如何将 Docker 与 Celery、Redis、Flower 与 Django REST 框架一起使用
  • 您将学习如何将反向代理与 NGINX 和 NGINX 代理管理器一起使用
  • 您将学习如何使用 Letsencrypt 的 SSL 证书使用 HTTPS 保护 API
  • 您将了解使用工厂和夹具进行 Pytest 的 API 测试
  • 您将学习如何使用 Portainer 管理多个 Docker 容器
  • 您将学习如何使用 shell 脚本来自动化和监视流程
  • 您将了解 UUID(优点和缺点)以及伪主键如何解决这个问题。
  • 您将学习如何使用 Celery 和 Redis 实现异步任务
  • 您将学习如何使用 Nginx 和 Whitenoise 提供静态和媒体文件。
  • 您将学习如何使用 Flower 实现异步任务监控
  • 您将学习如何在 Docker 容器中使用 Postgres,包括如何使用 shell 脚本执行备份。
  • 您将学习如何设置 Ubuntu 服务器,在域名上运行 Django。
  • 您将学习如何使用 makefile 来简化 Docker 的使用。
  • Python 使用覆盖率测试覆盖率
  • 登录 Django
  • 基于令牌的身份验证
  • 在开发中使用 Mailhog 处理电子邮件,在生产中使用 Mailgun。

 要求

  • 本课程不适合绝对的初学者。
  • 本课程面向具有至少 1 年或以上 Web 开发经验的 Python 开发人员
  • 最好使用具有任何基于 LINUX 的操作系统或 MacOS 的计算机。如果不可能,Windows 机器也可以工作,但我还没有用 Windows 机器测试课程材料
  • 你应该熟悉 shell 脚本、Docker、API 和 Django 的基本概念。

 描述

嗨,欢迎来到这门课程,该课程介绍了如何构建一个生产就绪的、详细的 Django REST API,该 API 在由 NGINX 提供支持的 Web 服务器上运行,使用自定义域名,并通过 HTTPS 使用 Letsencrypt 的 SSL 证书安全地提供服务。

本课程不适合绝对的初学者。

我们将通过利用 Docker、Celery、Redis、Flower、Nginx、Nginx Proxy manager、Portainer、shell 脚本等工具来实现我们的目标。

本课程针对的是那些至少有 6 个月 Web 开发经验的人,但越多越好。在开始之前,您应该对以下概念有所了解,我将尝试解释所有内容。

我们将涵盖的概念包括:

  • Docker 和运行多个容器

  • 2 使用 SSL 证书保护具有 HTTPS 的 Django REST API

  • 使用 Django 和 Django Rest 框架的 REST API

  •  基于类的视图。

  •  Shell 脚本。

  • 使用 Celery 和 Redis 的异步任务

  • 使用 Flower 进行异步任务监控

  • 介绍使用工厂和夹具进行 Pytest 的 API 测试。

  • 基于令牌的身份验证

  • 使用 Mailhog 在开发中使用电子邮件,在生产中使用 Mailgun 处理电子邮件

  •  Python 测试覆盖率

  • 使用 NGINX 和白噪声提供静态和媒体文件

  • Makefile 以及它们如何使 Docker 的使用更加容易。

所有这些都将逐步介绍,以便您可以利用在本课程中学到的技能来大规模构建更大更好的应用程序。

我希望你能从中获得巨大的价值。

本课程适合谁:

  • 中级 Python 开发人员对如何使用 Django REST 框架和 shell 脚本、Docker、Docker、Celery、Redis、Rabbitmq、Flower 和 Nginx 感到好奇。您将学习通过利用其他工具(如 Portainer、NGINX 代理管理器等)将这些技术结合到生产构建中所需的所有知识
  • 具有至少 1 年经验的中级 Python 开发人员,越多越好
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。