検索
ホームページバックエンド開発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: 環境セットアップ

推奨される VM 構成:

  • RAM: 8 GB
  • プロセッサ: 4 コア (8 スレッド)
  • ストレージ: 100 GB
  • ネットワーク: ブリッジ ネットワーク (一意の IP の場合) または NAT (ホスト経由のインターネット アクセスの場合)。

VM セットアップ:

  1. 信頼できるソース (公式 Ubuntu サイトなど) から ubuntu-22.04-server-cloudimg-amd64.ova イメージをダウンロードします。
  2. VMware Workstation、Fusion、または ESXi を開いて、OVA ファイルをインポートします。画面上の指示に従ってください。
  3. VM に名前を付けます (例: TMS_VM)。
  4. 上記の推奨事項に従って、VM のメモリ、プロセッサ、ハードディスク、およびネットワーク設定を構成します。

Ubuntu 22.04 サーバー構成:

  1. VM を起動します。

  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):

Python、Pylance、Flake8、Black、および Django 拡張機能を VS Code にインストールします。 pip を使用して、Flake8 と Black も VM にインストールされていることを確認します。仮想環境の Python インタープリターを使用し、lint とフォーマットを有効にするように VS Code を構成します。 構成用の 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_HOSTSsettings.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

VM スナップショット:

初期セットアップ後に VMware のスナップショット機能を使用して VM のスナップショットを作成します。 「InitialSetup」など、わかりやすい名前を付けます。

以上がTMS プロジェクト用の Bulletproof Django APIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
数値データを保存するためのリストよりも一般的にメモリ効率が高いのはなぜですか?数値データを保存するためのリストよりも一般的にメモリ効率が高いのはなぜですか?May 05, 2025 am 12:15 AM

AlaySaregenerallymorememory-effictient forstring forstring inumericaldataduetotheirfixed-sizenature anddirectmoryaccess.1)AraysstoreElementsinaCourowlock、Reducingoverheadfrompointertersormetadata.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

Pythondoesnothavebuiltinarays; usethearmoduleformemory-efficienthogeneousdatastorage、while-lelistSareversatileformixeddatypes.Arraysareeffientive for forlardatedateSetsetype、wheneasofferistofibuliestibuliestuseduseerieartusedoersorerdatatess。

Pythonで配列を作成するために一般的に使用されるモジュールは何ですか?Pythonで配列を作成するために一般的に使用されるモジュールは何ですか?May 05, 2025 am 12:02 AM

sostCommonlylysedModule forcreatinginpythonisnumpy.1)numProvidesefficientToolsForArrayoperations、理想的なfornumericaldata.2)arrayscanbecreatedusingnp.array()for1dand2dstructures.3)

Pythonリストに要素をどのように追加しますか?Pythonリストに要素をどのように追加しますか?May 04, 2025 am 12:17 AM

toAppendElementStoapyThonList、usetheappend()methodforsingleelements、extend()formultipleElements、andinsert()forspecificopsitions.1)useappend()foraddingoneElementatheend.2)useextend()toaddmultipleelementseffictience.3)

Pythonリストをどのように作成しますか?例を挙げてください。Pythonリストをどのように作成しますか?例を挙げてください。May 04, 2025 am 12:16 AM

To CreateapythonList、usesquareBrackets []およびSeparateItemswithcommas.1)listsaredynamicandcanholdmixdatatypes.2)useappend()、remaid()、andslicingformanipulation.3)listcompreheNsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsionsientionforcreating.4)

数値データの効率的なストレージと処理が重要な実際のユースケースについて話し合います。数値データの効率的なストレージと処理が重要な実際のユースケースについて話し合います。May 04, 2025 am 12:11 AM

金融、科学研究、医療、およびAIの分野では、数値データを効率的に保存および処理することが重要です。 1)財務では、メモリマッピングされたファイルとnumpyライブラリを使用すると、データ処理速度が大幅に向上する可能性があります。 2)科学研究の分野では、HDF5ファイルはデータストレージと取得用に最適化されています。 3)医療では、インデックス作成やパーティション化などのデータベース最適化テクノロジーがデータのパフォーマンスを向上させます。 4)AIでは、データシャーディングと分散トレーニングがモデルトレーニングを加速します。システムのパフォーマンスとスケーラビリティは、適切なツールとテクノロジーを選択し、ストレージと処理速度の間のトレードオフを検討することにより、大幅に改善できます。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール