Django

Teljes telepítési útmutató: Django az NStrim platformon

Áttekintés

A Django egy magas szintű Python webkeretrendszer, amely gyors fejlesztést és tiszta, pragmatikus tervezést támogat. Tartalmaz ORM-ot, admin panelt, hitelesítési rendszert és beépített sablonmotort.

Mielőtt elkezdenéd
Győződj meg róla, hogy a vezérlőpultod nyitva van - szükséged lesz az ott megjelenített Git hitelesítő adatokra. Ez a sablon tartalmazza a Django, Gunicorn, mysqlclient MySQL támogatáshoz és Django REST Framework csomagokat.

Gyorsindítás

1

Repository létrehozása sablonból

A vezérlőpultodon menj a Tools & Deployment fülre. Kattints a "New Repository" gombra, válaszd ki a Django sablont a legördülő menüből, add meg a repository nevét és az aldomaint, majd kattints a "Create Repository" gombra.

2

Repository klónozása

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Függőségek telepítése

pip install -r requirements.txt
4

Adatbázis konfigurálása és migrációk futtatása

Frissítsd az adatbázis beállításokat a settings.py fájlban (lásd az Adatbázis konfiguráció részt alább), majd futtasd:

python manage.py migrate
python manage.py runserver

A szerver alapértelmezetten a http://localhost:8000 címen fut.

5

Változtatások feltöltése

git add .
git commit -m "Initial setup"
git push origin main
Minden Git push automatikusan telepíti az alkalmazásodat. Ellenőrizd a Modul munka URL-t a vezérlőpultodon az élő oldal megtekintéséhez.

Helyi fejlesztés Dockerrel

Ha nincs Python telepítve a gépedre, használhatod a Dockert a Django alkalmazásod futtatásához.

Mi az a Docker?
A Docker izolált konténereket hoz létre az összes szükséges szoftverrel (Python, pip) anélkül, hogy telepítened kellene őket a számítógépedre.

Parancsok futtatása Dockerrel

# Függőségek telepítése
docker run --rm -v $(pwd):/app -w /app python:3.12 pip install -r requirements.txt

# Fejlesztői szerver futtatása
docker run --rm -v $(pwd):/app -w /app -p 8000:8000 python:3.12 sh -c "pip install -r requirements.txt && python manage.py runserver 0.0.0.0:8000"

Adatbázis konfiguráció

Az NStrim platform MySQL/MariaDB adatbázist biztosít számodra. Frissítsd a DATABASES beállítást a settings.py fájlban.

settings.py frissítése

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<username>',
        'USER': '<username>',
        'PASSWORD': '<password>',
        'HOST': 'db.<session-domain>',
        'PORT': '3306',
    }
}
Fontos
Az adatbázis neve és felhasználóneve általában megegyezik a vezérlőpulton megjelenő felhasználóneveddel (pl. student01). Ellenőrizd a vezérlőpult hitelesítő adatok részét a pontos értékekért.

Projekt struktúra

├── project/
│   ├── settings.py            # Projekt konfiguráció
│   ├── urls.py                # Gyökér URL konfiguráció
│   └── wsgi.py                # WSGI belépési pont
├── app/
│   ├── models.py              # Adatbázis modellek
│   ├── views.py               # View függvények / osztályok
│   ├── urls.py                # App URL minták
│   ├── serializers.py         # DRF szerializálók
│   ├── admin.py               # Admin panel konfig
│   └── templates/             # HTML sablonok
├── static/                    # CSS, JS, képek
├── manage.py                  # Django kezelő CLI
├── requirements.txt           # Python függőségek
└── Dockerfile                 # Docker konfig
        

Gyakori feladatok

Model létrehozása

from django.db import models

class User(models.Model):
    name = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

View létrehozása

from django.http import JsonResponse
from .models import User

def user_list(request):
    users = list(User.objects.values('id', 'name', 'email'))
    return JsonResponse(users, safe=False)

URL konfiguráció

from django.urls import path
from . import views

urlpatterns = [
    path('users/', views.user_list, name='user-list'),
]

Hasznos parancsok

python manage.py runserver Fejlesztői szerver indítása
python manage.py migrate Adatbázis migrációk futtatása
python manage.py makemigrations Új migrációk létrehozása
python manage.py createsuperuser Admin felhasználó létrehozása
python manage.py shell Interaktív Python shell

Hibaelhárítás

OperationalError: (2002) Can't connect to MySQL server

Ok: Az adatbázis host helytelen vagy nem elérhető.

Megoldás: Ellenőrizd, hogy a HOST a DATABASES beállításban megegyezik-e a vezérlőpulton megjelenő adatbázis hosttal.

OperationalError: (1045) Access denied for user

Ok: Hibás felhasználónév vagy jelszó.

Megoldás: Ellenőrizd, hogy a USER és PASSWORD a settings.py fájlban pontosan megegyezik-e a vezérlőpulton megjelenő hitelesítő adatokkal.

No module named 'MySQLdb'

Megoldás: Telepítsd a MySQL klienst: pip install mysqlclient. macOS-en szükséged lehet erre is: brew install mysql-client.

DisallowedHost: Invalid HTTP_HOST header

Megoldás: Add hozzá a telepítési domaint az ALLOWED_HOSTS listához a settings.py fájlban: ALLOWED_HOSTS = ['*']

Telepítési munkafolyamat

Kód módosítás git push pip install Éles!
További információért látogasd meg a hivatalos Django dokumentációt.