Django

Täydellinen käyttöönotto-opas: Django NStrim-alustalla

Yleiskatsaus

Django on korkean tason Python-webkehys, joka kannustaa nopeaan kehitykseen ja selkeään, käytännölliseen suunnitteluun. Se sisältää ORM:n, hallintapaneelin, todennusjärjestelmän ja sisäänrakennetun mallinemoottoren.

Ennen kuin aloitat
Varmista, että kojelautasi on auki - tarvitset siellä näkyvät Git-tunnukset. Tämä malli sisältää Djangon, Gunicornin, mysqlclientin MySQL-tukea varten ja Django REST Frameworkin.

Pikaopas

1

Luo arkisto mallista

Siirry kojelaudallasi Tools & Deployment -välilehteen. Napsauta "New Repository" -painiketta, valitse Django-malli pudotusvalikosta, anna arkiston nimi ja alidomain ja napsauta "Create Repository".

2

Kloonaa arkistosi

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

Asenna riippuvuudet

pip install -r requirements.txt
4

Konfiguroi tietokanta ja suorita migraatiot

Päivitä tietokanta-asetukset tiedostossa settings.py (katso Tietokantakonfiguraatio alla), suorita sitten:

python manage.py migrate
python manage.py runserver

Palvelin käynnistyy oletuksena osoitteessa http://localhost:8000.

5

Lähetä muutoksesi

git add .
git commit -m "Initial setup"
git push origin main
Jokainen push Gitiin julkaisee sovelluksesi automaattisesti. Tarkista moduulin työ-URL kojelaudaltasi nähdäksesi live-sivustosi.

Paikallinen kehitys Dockerilla

Jos sinulla ei ole Pythonia asennettuna paikallisesti, voit käyttää Dockeria Django-sovelluksesi suorittamiseen.

Mikä on Docker?
Docker luo eristettyjä kontteja, joissa on kaikki tarvitsemasi ohjelmistot (Python, pip) asentamatta niitä tietokoneellesi.

Komentojen suorittaminen Dockerilla

# Asenna riippuvuudet
docker run --rm -v $(pwd):/app -w /app python:3.12 pip install -r requirements.txt

# Käynnistä kehityspalvelin
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"

Tietokantakonfiguraatio

NStrim-alusta tarjoaa sinulle MySQL/MariaDB-tietokannan. Päivitä DATABASES-asetus settings.py-tiedostossa.

Päivitä settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '<username>',
        'USER': '<username>',
        'PASSWORD': '<password>',
        'HOST': 'db.<session-domain>',
        'PORT': '3306',
    }
}
Tärkeää
Tietokannan nimi ja käyttäjänimi ovat yleensä samat kuin kojelaudan käyttäjänimesi (esim. student01). Tarkista tarkat arvot kojelaudan tunnusosiosta.

Projektin rakenne

├── project/
│   ├── settings.py            # Projektin konfiguraatio
│   ├── urls.py                # Juuri-URL-konfiguraatio
│   └── wsgi.py                # WSGI-aloituspiste
├── app/
│   ├── models.py              # Tietokantamallit
│   ├── views.py               # Näkymäfunktiot / -luokat
│   ├── urls.py                # Sovelluksen URL-mallit
│   ├── serializers.py         # DRF-serialisoijat
│   ├── admin.py               # Hallintapaneelin konfiguraatio
│   └── templates/             # HTML-mallit
├── static/                    # CSS, JS, kuvat
├── manage.py                  # Djangon hallinta-CLI
├── requirements.txt           # Python-riippuvuudet
└── Dockerfile                 # Docker-konfiguraatio
        

Yleiset tehtävät

Mallin luominen

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

Näkymän luominen

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-konfiguraatio

from django.urls import path
from . import views

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

Hyödylliset komennot

python manage.py runserver Käynnistä kehityspalvelin
python manage.py migrate Suorita tietokantamigraatiot
python manage.py makemigrations Luo uudet migraatiot mallien muutoksista
python manage.py createsuperuser Luo ylläpitäjä /admin-paneeliin
python manage.py shell Interaktiivinen Python-kuori Djangolla

Vianmääritys

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

Syy: Tietokantapalvelin on virheellinen tai ei saavutettavissa.

Ratkaisu: Tarkista, että HOST DATABASES-asetuksessa vastaa kojelaudan tietokantapalvelinta.

OperationalError: (1045) Access denied for user

Syy: Väärä käyttäjänimi tai salasana.

Ratkaisu: Tarkista, että USER ja PASSWORD tiedostossa settings.py vastaavat täsmälleen kojelaudan tunnuksia.

No module named 'MySQLdb'

Ratkaisu: Asenna MySQL-asiakasohjelma: pip install mysqlclient. macOS:lla saatat tarvita myös: brew install mysql-client.

DisallowedHost: Invalid HTTP_HOST header

Ratkaisu: Lisää käyttöönottoverkkotunnuksesi ALLOWED_HOSTS-asetukseen tiedostossa settings.py: ALLOWED_HOSTS = ['*']

Käyttöönotto

Koodimuutos git push pip install Live!
Lisätietoja virallisesta Django-dokumentaatiosta.