Django
Oversikt
Django er et Python-webrammeverk på høyt nivå som oppmuntrer til rask utvikling og rent, pragmatisk design. Det inneholder en ORM, et adminpanel, et autentiseringssystem og en innebygd malmotor.
Hurtigstart
Opprett repository fra mal
Gå til fanen Tools & Deployment i dashbordet. Klikk på "New Repository", velg Django-malen fra nedtrekksmenyen, skriv inn et repository-navn og et subdomene, og klikk deretter på "Create Repository".
Klon ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installer avhengigheter
pip install -r requirements.txt
Konfigurer databasen og kjør migrasjoner
Oppdater databaseinnstillingene i settings.py (se Databasekonfigurasjon nedenfor), og kjør deretter:
python manage.py migrate
python manage.py runserver
Serveren kjører som standard på http://localhost:8000.
Push endringene dine
git add .
git commit -m "Initial setup"
git push origin main
Lokal utvikling med Docker
Hvis du ikke har Python installert lokalt, kan du bruke Docker til å kjøre Django-applikasjonen din.
Kjøre kommandoer med Docker
# Installer avhengigheter
docker run --rm -v $(pwd):/app -w /app python:3.12 pip install -r requirements.txt
# Start utviklingsserveren
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"
Databasekonfigurasjon
NStrim-plattformen gir deg en MySQL/MariaDB-database. Oppdater DATABASES-innstillingen i settings.py-filen din.
Oppdater settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<username>',
'USER': '<username>',
'PASSWORD': '<password>',
'HOST': 'db.<session-domain>',
'PORT': '3306',
}
}
student01). Sjekk påloggingsdelen i dashbordet for nøyaktige verdier.Prosjektstruktur
├── project/
│ ├── settings.py # Prosjektkonfigurasjon
│ ├── urls.py # Rot-URL-konfigurasjon
│ └── wsgi.py # WSGI-inngangspunkt
├── app/
│ ├── models.py # Databasemodeller
│ ├── views.py # View-funksjoner/-klasser
│ ├── urls.py # App-URL-mønstre
│ ├── serializers.py # DRF-serialiserere
│ ├── admin.py # Konfigurasjon av adminpanel
│ └── templates/ # HTML-maler
├── static/ # CSS, JS, bilder
├── manage.py # Django-management-CLI
├── requirements.txt # Python-avhengigheter
└── Dockerfile # Docker-konfigurasjon
Vanlige oppgaver
Opprett model
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
Opprett view
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-konfigurasjon
from django.urls import path
from . import views
urlpatterns = [
path('users/', views.user_list, name='user-list'),
]
Nyttige kommandoer
python manage.py runserver
Start utviklingsserveren
python manage.py migrate
Kjør databasemigrasjoner
python manage.py makemigrations
Lag nye migrasjoner fra modellendringer
python manage.py createsuperuser
Opprett admin-bruker for /admin-panelet
python manage.py shell
Interaktivt Python-skall med Django
Feilsøking
OperationalError: (2002) Can't connect to MySQL server
Årsak: Databaseverten er feil eller utilgjengelig.
Løsning: Sjekk at HOST i DATABASES-innstillingen samsvarer med databaseverten fra dashbordet.
OperationalError: (1045) Access denied for user
Årsak: Feil brukernavn eller passord.
Løsning: Kontroller at USER og PASSWORD i settings.py stemmer nøyaktig med dashbordopplysningene.
No module named 'MySQLdb'
Løsning: Installer MySQL-klienten: pip install mysqlclient. På macOS kan du i tillegg trenge: brew install mysql-client.
DisallowedHost: Invalid HTTP_HOST header
Løsning: Legg til distribusjonsdomenet ditt i ALLOWED_HOSTS i settings.py: ALLOWED_HOSTS = ['*']