برنامه نویسی

API ضد گلوله جنگو برای یک پروژه TMS

مقدمه

در این آموزش، ما یک برنامه وب ساده با استفاده از Django و Django REST Framework (DRF) خواهیم ساخت. پروژه ما مجموعه‌ای از کتاب‌ها را مدیریت می‌کند و به کاربران اجازه می‌دهد تا عملیات CRUD (ایجاد، خواندن، به‌روزرسانی، حذف) را از طریق REST API انجام دهند.

پیش نیازها

  • پایتون نصب شده است (نسخه 3.8 یا بالاتر توصیه می شود).
  • درک اولیه پایتون و جنگو.
  • pip (نصب کننده بسته پایتون).
  • دانش راه اندازی محیط مجازی (به عنوان مثال، venv).

مرحله 1: تنظیم محیط

پیکربندی VM توصیه شده برای هاست شما:

  • حافظه (RAM): 8 گیگابایت را به VM اختصاص دهید تا از عملکرد روان اطمینان حاصل کنید و در عین حال منابع کافی برای میزبان باقی بماند.
  • پردازنده ها: 4 هسته (8 رشته) را به VM اختصاص دهید.
  • فضای ذخیره سازی: 100 گیگابایت را طبق برنامه ریزی برای هارد دیسک ماشین مجازی اختصاص دهید.
  • شبکه: اگر VM برای دسترسی به اینترنت از طریق هاست به یک IP منحصر به فرد در شبکه محلی یا NAT نیاز دارد، از Bridged Networking استفاده کنید.

راه اندازی VM

  1. دانلود تصویر ابری اوبونتو: مطمئن شوید که آن را دانلود کرده اید ubuntu-22.04-server-cloudimg-amd64.ova فایل از یک منبع قابل اعتماد (به عنوان مثال، سایت رسمی اوبونتو).
  2. VMware را باز کنید: راه اندازی کنید ایستگاه کاری VMware، VMware Fusion یا VMware ESXi بسته به تنظیمات شما.
  3. فایل OVA را وارد کنید:
    • روی File > Open or Import an OVA کلیک کنید.
    • فایل ubuntu-22.04-server-cloudimg-amd64.ova را انتخاب کنید.
    • برای وارد کردن تصویر، دستورات را دنبال کنید.
  4. نام ماشین مجازی: یک نام توصیفی ارائه دهید، به عنوان مثال، TMS_VM.
  5. VM را پیکربندی کنید (تنظیم حافظه، تنظیم پردازنده ها، پیکربندی هارد دیسک، پیکربندی شبکه)

سرور اوبونتو 22.04 را راه اندازی و پیکربندی کنید

  1. VM را راه اندازی کنید
  2. ورود و به روز رسانی سیستم:

    ubuntu@ubuntuguest:~$ sudo apt update && sudo apt upgrade -y

  3. ابزارهای ضروری را نصب کنید:

    ubuntu@ubuntuguest:~$ sudo apt install git python3 python3.10-venv python3-pip python3-venv git build-essential -y

  4. تنظیم یک کاربر:

    ubuntu@ubuntuguest:~$ sudo groupadd bulletproof
    ubuntu@ubuntuguest:~$ sudo adduser django
    ubuntu@ubuntuguest:~$ sudo usermod -aG bulletproof django
    
  5. یک دایرکتوری برای پروژه خود ایجاد کنید

    ubuntu@ubuntuguest:~$ mkdir /home/django/projects

  6. تغییر مالکیت گروه به ضد گلوله:

    ubuntu@ubuntuguest:~$ sudo chown :bulletproof /home/django/projects

  7. مجوزها را طوری تنظیم کنید که فقط اعضای گروه بتوانند در دایرکتوری بنویسند:

    ubuntu@ubuntuguest:~$ sudo chmod 775 /home/django/projects

  8. دایرکتوری و مجوزهای پیش فرض کاربر جدید را تنظیم کنید:

    ubuntu@ubuntuguest:~$ sudo usermod -d /home/django/projects django
    ubuntu@ubuntuguest:~$ sudo chown django:bulletproof /home/django/projects
    ubuntu@ubuntuguest:~$ su - django
    django@ubuntuguest:~$ 
    

راه اندازی Vscode

برای تنظیم VS Code برای پروژه جنگو خود از طریق Remote-SSH، افزونه های Python و Pylance را برای پشتیبانی Python نصب کنید. Flake8 را برای linting و Black را برای قالب بندی کد اضافه کنید. افزونه جنگو را برای ویژگی های خاص پروژه نصب کنید. اطمینان حاصل کنید که Flake8 و Black نیز از طریق پیپ روی ماشین مجازی از راه دور نصب شده باشند. مفسر پایتون را برای استفاده از محیط مجازی پیکربندی کنید و از طریق تنظیمات VS Code برای یک تجربه توسعه یکپارچه، لینتینگ و قالب‌بندی را فعال کنید.

  1. Create pyproject.toml: این یک فایل اختیاری برای مدیریت ابرداده پروژه و پیکربندی ساخت است. آن را به صورت دستی ایجاد کنید یا از یک الگو استفاده کنید. مثال:

    [tool.black]
    line-length = 100
    
  2. نصب مشکی: (.venv) django@ubuntuguest:~/tms$ pip install black

  3. ایجاد کنید .flake8 فایل: این فایل برای پیکربندی تنظیمات Flake8 (لینتر برای سبک کد پایتون) استفاده می شود. به عنوان مثال محتوای .flake8:

    [flake8]
    max-line-length = 100
    extend-ignore = E203, W503
    
  4. Flake8 را نصب کنید: (.venv) django@ubuntuguest:~/tms$ pip install flake8

راه اندازی پایتون

  1. ایجاد یک محیط مجازی:

    django@ubuntuguest:~$ mkdir tms && cd tms
    django@ubuntuguest:~$ python3 -m venv .venv
    django@ubuntuguest:~$ source .venv/bin/activate  # On Windows: env\Scripts\activate
    
  2. Django و DRF را نصب کنید:

    (.venv) django@ubuntuguest:~/tms$ pip install django djangorestframework

  3. ایجاد یک پروژه جنگو:

    (.venv) django@ubuntuguest:~/tms$ django-admin startproject tms .

  4. سرور توسعه را اجرا کنید:

    (.venv) django@ubuntuguest:~/tms$ python manage.py runserver 0.0.0.0:8000

اگر با خطا مواجه شدید: django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'ip_address:8000'. You may need to add 'ip_address' to ALLOWED_HOSTS.. آدرس IP سرور خود را (به عنوان مثال، 10.0.0.10) به ALLOWED_HOSTS در settings.py اضافه کنید: ALLOWED_HOSTS = ['10.0.0.10', 'localhost', '127.0.0.1']

برای دیدن صفحه اصلی جنگو پیش‌فرض از http://ip_address:8000 دیدن کنید.

راه اندازی مخزن Git

  1. ایجاد یک README.md file: این فایل اطلاعات اولیه درباره پروژه شما مانند هدف، دستورالعمل های نصب و استفاده را ارائه می دهد.

    (.venv) django@ubuntuguest:~/tms$ touch README.md
    

    توضیحات پروژه خود را به فایل اضافه کنید. مثال:

    # Training Management System (TMS)
    This is a Django-based project for managing training courses, students, and instructors.
    
  2. ایجاد کنید requirements.txt: این فایل تمام وابستگی های پروژه شما را فهرست می کند. برای تولید request.txt بر اساس محیط مجازی:

    (.venv) django@ubuntuguest:~/tms$ pip freeze > requirements.txt
    
  3. ایجاد یک LICENSE فایل

  4. ایجاد کنید .gitignore فایل

  5. (.venv) django@ubuntuguest:~/tms$ ls ~/.ssh

  6. (.venv) django@ubuntuguest:~/tms$ ssh-keygen -t ed25519 -C "your_email@example.com"

  7. (.venv) django@ubuntuguest:~/tms$ cat ~/.ssh/id_ed25519.pub و خروجی را کپی کنید.

  8. کلید SSH را به GitHub اضافه کنید. به تنظیمات > کلیدهای SSH و GPG > کلید SSH جدید بروید. کلید را بچسبانید و به آن عنوان بدهید.

  9. تغییر دایرکتوری: (.venv) django@ubuntuguest:~/tms$ cd /path/to/your/project

  10. مخزن Git را راه اندازی کنید: (.venv) django@ubuntuguest:~/tms$ git init

  11. اضافه کردن مخزن از راه دور: (.venv) django@ubuntuguest:~/tms$ git remote add origin git@github.com:username/repository.git

  12. فایل های مرحله: (.venv) django@ubuntuguest:~/tms$ git add .

  13. ایجاد تعهد اولیه: (.venv) django@ubuntuguest:~/tms$ git commit -m "Initial commit"

  14. فشار به مخزن از راه دور:(.venv) django@ubuntuguest:~/tms$ git push -u origin main

عکس فوری از VM

پس از پیکربندی ماشین مجازی و تکمیل تنظیمات اولیه، برای حفظ این حالت، یک عکس فوری بگیرید:

  • به VMware > Snapshot > Take Snapshot بروید.
  • نام آن را چیزی مانند InitialSetup بگذارید

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا