搜索
首页后端开发Python教程用于 TMS 项目的 Bulletproof Django API

Bulletproof Django API for a TMS project

简介

本教程将指导您使用 Django 和 Django REST Framework (DRF) 构建基本的 Web 应用程序。 该应用程序将管理图书收藏,通过 REST API 启用 CRUD(创建、读取、更新、删除)操作。

先决条件

  • Python 3.8 或更高版本。
  • Python 和 Django 的基础知识。
  • pip(Python 包安装程序)。
  • 熟悉虚拟环境设置(例如,venv)。

第 1 步:环境设置

推荐的虚拟机配置:

  • 内存: 8 GB
  • 处理器: 4 核(8 线程)
  • 存储空间: 100 GB
  • 网络:桥接网络(用于唯一的 IP)或 NAT(用于通过主机访问互联网)。

虚拟机设置:

  1. 从可靠来源(例如 Ubuntu 官方网站)下载 ubuntu-22.04-server-cloudimg-amd64.ova 映像。
  2. 打开 VMware Workstation、Fusion 或 ESXi 并导入 OVA 文件。按照屏幕上的说明进行操作。
  3. 为您的虚拟机命名(例如,TMS_VM)。
  4. 根据上述建议配置虚拟机的内存、处理器、硬盘和网络设置。

Ubuntu 22.04 服务器配置:

  1. 启动虚拟机。

  2. 登录并更新系统:sudo apt update && sudo apt upgrade -y

  3. 安装必要工具:sudo apt install git python3 python3.10-venv python3-pip python3-venv git build-essential -y

  4. 创建用户:以下命令创建一个名为 django 并具有适当权限的用户。 请记住将 "your_email@example.com" 替换为您的实际电子邮件地址。

    sudo groupadd bulletproof
    sudo adduser django
    sudo usermod -aG bulletproof django
  5. 创建项目目录:mkdir /home/django/projects

  6. 调整群组所有权和权限:

    sudo chown :bulletproof /home/django/projects
    sudo chmod 775 /home/django/projects
    sudo usermod -d /home/django/projects django
    sudo chown django:bulletproof /home/django/projects
    su - django

VS 代码设置(远程 SSH):

在 VS Code 中安装 Python、Pylance、Flake8、Black 和 Django 扩展。 确保使用 pip 在虚拟机上安装了 Flake8 和 Black。配置 VS Code 以使用虚拟环境的 Python 解释器并启用 linting 和格式化。 创建 pyproject.toml.flake8 文件进行配置(请参阅原始文档中的示例)。

Python 设置:

  1. 创建虚拟环境:

    mkdir tms && cd tms
    python3 -m venv .venv
    source .venv/bin/activate  # (env\Scripts\activate on Windows)
  2. 安装 Django 和 DRF:pip install django djangorestframework

  3. 创建 Django 项目:django-admin startproject tms .

  4. 运行开发服务器:python manage.py runserver 0.0.0.0:8000

    如果遇到 DisallowedHost 错误,请将服务器的 IP 地址添加到 ALLOWED_HOSTS 中的 settings.py

Git 存储库设置:

  1. 创建 README.mdrequirements.txt(使用 pip freeze > requirements.txt)、LICENSE.gitignore 文件。
  2. 生成 SSH 密钥:ssh-keygen -t ed25519 -C "your_email@example.com"。将公钥添加到您的 GitHub 帐户。
  3. 初始化 Git 存储库:git init
  4. 添加远程存储库:git remote add origin git@github.com:username/repository.git
  5. 提交并推送您的更改:git add .git commit -m "Initial commit"git push -u origin main

虚拟机快照:

在初始设置后使用 VMware 的快照功能创建虚拟机的快照。 将其命名为描述性名称,例如“InitialSetup”。

以上是用于 TMS 项目的 Bulletproof Django API的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
为什么数组通常比存储数值数据列表更高?为什么数组通常比存储数值数据列表更高?May 05, 2025 am 12:15 AM

ArraySareAryallyMoremory-Moremory-forigationDataDatueTotheIrfixed-SizenatureAntatureAntatureAndirectMemoryAccess.1)arraysStorelelementsInAcontiguxufulock,ReducingOveringOverheadHeadefromenterSormetormetAdata.2)列表,通常

如何将Python列表转换为Python阵列?如何将Python列表转换为Python阵列?May 05, 2025 am 12:10 AM

ToconvertaPythonlisttoanarray,usethearraymodule:1)Importthearraymodule,2)Createalist,3)Usearray(typecode,list)toconvertit,specifyingthetypecodelike'i'forintegers.Thisconversionoptimizesmemoryusageforhomogeneousdata,enhancingperformanceinnumericalcomp

您可以将不同的数据类型存储在同一Python列表中吗?举一个例子。您可以将不同的数据类型存储在同一Python列表中吗?举一个例子。May 05, 2025 am 12:10 AM

Python列表可以存储不同类型的数据。示例列表包含整数、字符串、浮点数、布尔值、嵌套列表和字典。列表的灵活性在数据处理和原型设计中很有价值,但需谨慎使用以确保代码的可读性和可维护性。

Python中的数组和列表之间有什么区别?Python中的数组和列表之间有什么区别?May 05, 2025 am 12:06 AM

Pythondoesnothavebuilt-inarrays;usethearraymoduleformemory-efficienthomogeneousdatastorage,whilelistsareversatileformixeddatatypes.Arraysareefficientforlargedatasetsofthesametype,whereaslistsofferflexibilityandareeasiertouseformixedorsmallerdatasets.

通常使用哪种模块在Python中创建数组?通常使用哪种模块在Python中创建数组?May 05, 2025 am 12:02 AM

theSostCommonlyusedModuleForCreatingArraysInpyThonisnumpy.1)NumpyProvidEseffitedToolsForarrayOperations,Idealfornumericaldata.2)arraysCanbeCreatedDusingsnp.Array()for1dand2Structures.3)

您如何将元素附加到Python列表中?您如何将元素附加到Python列表中?May 04, 2025 am 12:17 AM

toAppendElementStoApythonList,usetheappend()方法forsingleements,Extend()formultiplelements,andinsert()forspecificpositions.1)useeAppend()foraddingoneOnelementAttheend.2)useextendTheEnd.2)useextendexendExendEnd(

您如何创建Python列表?举一个例子。您如何创建Python列表?举一个例子。May 04, 2025 am 12:16 AM

TocreateaPythonlist,usesquarebrackets[]andseparateitemswithcommas.1)Listsaredynamicandcanholdmixeddatatypes.2)Useappend(),remove(),andslicingformanipulation.3)Listcomprehensionsareefficientforcreatinglists.4)Becautiouswithlistreferences;usecopy()orsl

讨论有效存储和数值数据的处理至关重要的实际用例。讨论有效存储和数值数据的处理至关重要的实际用例。May 04, 2025 am 12:11 AM

金融、科研、医疗和AI等领域中,高效存储和处理数值数据至关重要。 1)在金融中,使用内存映射文件和NumPy库可显着提升数据处理速度。 2)科研领域,HDF5文件优化数据存储和检索。 3)医疗中,数据库优化技术如索引和分区提高数据查询性能。 4)AI中,数据分片和分布式训练加速模型训练。通过选择适当的工具和技术,并权衡存储与处理速度之间的trade-off,可以显着提升系统性能和可扩展性。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

螳螂BT

螳螂BT

Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具