Django
Översikt
Django är ett Python-webbramverk på hög nivå som främjar snabb utveckling och ren, pragmatisk design. Det innehåller en ORM, adminpanel, autentiseringssystem och mallmotor från start.
Kom igång
Skapa repository från mall
Gå till fliken Tools & Deployment i din dashboard. Klicka på knappen "New Repository", välj Django-mallen från rullgardinsmenyn, ange ett repository-namn och en subdomän och klicka sedan på "Create Repository".
Klona ditt repository
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Installera beroenden
pip install -r requirements.txt
Konfigurera databas och kör migreringar
Uppdatera databasinställningarna i settings.py (se Databaskonfiguration nedan) och kör sedan:
python manage.py migrate
python manage.py runserver
Servern körs som standard på http://localhost:8000.
Pusha dina ändringar
git add .
git commit -m "Initial setup"
git push origin main
Lokal utveckling med Docker
Om du inte har Python installerat lokalt kan du använda Docker för att köra din Django-applikation.
Köra kommandon med Docker
# Install dependencies
docker run --rm -v $(pwd):/app -w /app python:3.12 pip install -r requirements.txt
# Run development server
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"
Databaskonfiguration
NStrim-plattformen tillhandahåller en MySQL/MariaDB-databas. Uppdatera inställningen DATABASES i din settings.py-fil.
Uppdatera settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<username>',
'USER': '<username>',
'PASSWORD': '<password>',
'HOST': 'db.<session-domain>',
'PORT': '3306',
}
}
student01). Kontrollera avsnittet med inloggningsuppgifter i din dashboard för exakta värden.Projektstruktur
├── project/
│ ├── settings.py # Projektkonfiguration
│ ├── urls.py # Rot-URL-konfiguration
│ └── wsgi.py # WSGI-ingångspunkt
├── app/
│ ├── models.py # Databasmodeller
│ ├── views.py # View-funktioner / klasser
│ ├── urls.py # App-URL-mönster
│ ├── serializers.py # DRF-serializers
│ ├── admin.py # Adminpanelens konfiguration
│ └── templates/ # HTML-mallar
├── static/ # CSS, JS, bilder
├── manage.py # Django-hanterings-CLI
├── requirements.txt # Python-beroenden
└── Dockerfile # Docker-konfiguration
Vanliga uppgifter
Skapa en 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
Skapa en 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-konfiguration
from django.urls import path
from . import views
urlpatterns = [
path('users/', views.user_list, name='user-list'),
]
Användbara kommandon
python manage.py runserver
Starta utvecklingsserver
python manage.py migrate
Kör databasmigreringar
python manage.py makemigrations
Skapa nya migreringar från modelländringar
python manage.py createsuperuser
Skapa adminanvändare för /admin-panelen
python manage.py shell
Interaktivt Python-skal med Django
Felsökning
OperationalError: (2002) Can't connect to MySQL server
Orsak: Databasvärden är felaktig eller inte tillgänglig.
Lösning: Kontrollera att HOST i inställningen DATABASES matchar databasvärden från din dashboard.
OperationalError: (1045) Access denied for user
Orsak: Fel användarnamn eller lösenord.
Lösning: Dubbelkolla att USER och PASSWORD i din settings.py matchar dina inloggningsuppgifter från dashboarden exakt.
No module named 'MySQLdb'
Lösning: Installera MySQL-klienten: pip install mysqlclient. På macOS kan du också behöva: brew install mysql-client.
DisallowedHost: Invalid HTTP_HOST header
Lösning: Lägg till din distributionsdomän i ALLOWED_HOSTS i settings.py: ALLOWED_HOSTS = ['*']