Django
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.
Pikaopas
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".
Kloonaa arkistosi
git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
Asenna riippuvuudet
pip install -r requirements.txt
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.
Lähetä muutoksesi
git add .
git commit -m "Initial setup"
git push origin main
Paikallinen kehitys Dockerilla
Jos sinulla ei ole Pythonia asennettuna paikallisesti, voit käyttää Dockeria Django-sovelluksesi suorittamiseen.
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',
}
}
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 = ['*']