Django-aloitusopas: Rakenna nopeasti ensimmäinen verkkosovelluksesi
Django-aloitusopas: Rakenna nopeasti ensimmäinen verkkosovelluksesi
Django on korkean tason Python-verkkokehys, jonka tavoitteena on nopea kehitys ja selkeä suunnittelu. Se noudattaa malli-template-näkymä (MTV) -arkkitehtuuria ja kannustaa koodin uudelleenkäyttöä ja komponentointia. Tämä opas opastaa sinut vaihe vaiheelta luomaan yksinkertaisen Django-sovelluksen, jotta pääset nopeasti alkuun.
1. Ympäristön asennus
Ensinnäkin sinun on varmistettava, että järjestelmääsi on asennettu Python. Django suosittelee Python 3.6:n tai uudemman version käyttöä.
1.1 Pythonin asentaminen
Jos järjestelmääsi ei ole asennettu Pythonia, voit ladata ja asentaa sen Pythonin viralliselta verkkosivustolta.
1.2 Virtuaaliympäristön luominen (Virtual Environment)
Eri projektien välisten riippuvuuksien eristämiseksi on erittäin suositeltavaa käyttää virtuaaliympäristöä.
-
Avaa pääte tai komentokehote.
-
Luo projektihakemisto, esimerkiksi
myproject:
mkdir myproject cd myproject ```
-
Luo ja aktivoi virtuaaliympäristö:
python3 -m venv venv # Tai python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows ```
Virtuaaliympäristön aktivoinnin jälkeen päätekehotteesi näyttää `(venv)`, mikä osoittaa, että käytät virtuaaliympäristöä.
1.3 Djangon asentaminen
Asenna Django pip:llä aktivoidussa virtuaaliympäristössä:
pip install Django
Varmista, että asennus onnistui:
python -m django --version
Sinun pitäisi nähdä Djangon versionumero.
2. Django-projektin luominen
Kun olet asentanut Djangon, voit luoda uuden Django-projektin.
-
Suorita seuraava komento edelleen projektihakemistossasi (
myproject):
django-admin startproject mysite ```
Tämä luo `myproject`-hakemistoon `mysite`-nimisen hakemiston, joka sisältää Django-projektin runkotiedostot.
2. Siirry mysite-hakemistoon:
```bash
cd mysite ```
-
Django-projektihakemistorakenne on seuraava:
mysite/ manage.py mysite/ init.py settings.py urls.py asgi.py wsgi.py ```
* `manage.py`: Komentorivityökalu Django-projektin hallintaan.
* `mysite/`: Python-paketti, joka sisältää projektin määritykset.
* `__init__.py`: Tyhjä tiedosto, joka kertoo Pythonille, että hakemistoa tulisi pitää Python-pakettina.
* `settings.py`: Projektin määritystiedosto, esimerkiksi tietokanta-asetukset, virheenkorjaustila jne.
* `urls.py`: URL-reitityksen määritys, joka yhdistää URL-osoitteet näkymäfunktioihin.
* `asgi.py`: ASGI (Asynchronous Server Gateway Interface) -määritystiedosto, jota käytetään asynkronisten sovellusten käyttöönottoon.
* `wsgi.py`: WSGI (Web Server Gateway Interface) -määritystiedosto, jota käytetään perinteisten synkronisten sovellusten käyttöönottoon.## 3. Kehityspalvelimen käynnistäminen
Django sisältää kevyen kehityspalvelimen, joka helpottaa paikallista kehitystä ja testausta.
-
Suorita
mysite-hakemistossa seuraava komento:python manage.py runserver -
Avaa selaimesi ja siirry osoitteeseen
http://127.0.0.1:8000/. Sinun pitäisi nähdä sivu, jossa lukee "It worked! Congratulations on your first Django-powered page.".
4. Django-sovelluksen luominen
Django-projekti voi sisältää useita sovelluksia. Luodaan sovellus nimeltä myapp.
-
Avaa uusi pääteikkuna (pidä kehityspalvelin käynnissä).
-
Suorita
mysite-hakemistossa seuraava komento:python manage.py startapp myappTämä luo
mysite-hakemistoonmyapp-nimisen hakemiston, joka sisältää Django-sovelluksen rungon tiedostot. -
Django-sovelluksen hakemistorakenne on seuraava:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Tyhjä tiedosto, joka kertoo Pythonille, että hakemistoa tulisi käsitellä Python-pakettina.admin.py: Käytetään Django-hallintapaneelin määrittämiseen.apps.py: Sovelluksen asetukset.migrations/: Käytetään tietokannan migraatioiden hallintaan.models.py: Määrittelee tietomallit (tietokantataulut).tests.py: Kirjoittaa testitapauksia.views.py: Määrittelee näkymäfunktiot, jotka käsittelevät pyyntöjä ja palauttavat vastauksia.
-
Lisää
myappINSTALLED_APPS-listaan tiedostossamysite/settings.py:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Lisää myapp ]
5. Yksinkertaisen näkymän luominen
Nyt luodaan yksinkertainen näkymä, joka näyttää selaimessa tekstin "Hello, Django!".
-
Muokkaa tiedostoa
myapp/views.pyja lisää seuraava koodi:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Luo tiedosto
myapp/urls.pyja määritä URL-osoitteet näkymäfunktiolle:```python from django.urls import path from . import viewsurlpatterns = [ path('', views.index, name='index'), ]
-
Sisällytä
myapp/urls.pytiedostoonmysite/urls.py:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Lisää myapp:n URL-konfiguraatio ] -
Vieraile osoitteessa
http://127.0.0.1:8000/myapp/. Sinun pitäisi nähdä "Hello, Django!" -sivu.
6. Luo malli
Luodaan yksinkertainen malli datan tallentamiseen.
-
Muokkaa tiedostoa
myapp/models.pyja lisää seuraava koodi:from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def __str__(self): return self.question_textTämä määrittelee mallin nimeltä
Question, joka sisältää kaksi kenttää:question_text(CharField) japub_date(DateTimeField). -
Luo ja sovella tietokannan migraatiot:
python manage.py makemigrations myapp python manage.py migratemakemigrations-komento luo migraatiotiedoston mallisi perusteella, jamigrate-komento soveltaa migraatiot tietokantaan.
7. Käytä Django-hallintapaneelia
Django tarjoaa tehokkaan hallintapaneelin, jonka avulla voit helposti hallita dataasi.
-
Luo superkäyttäjä:
python manage.py createsuperuserSeuraa ohjeita ja syötä käyttäjänimi, sähköpostiosoite ja salasana.
-
Muokkaa tiedostoa
myapp/admin.pyja rekisteröiQuestion-malli:from django.contrib import admin from .models import Question admin.site.register(Question) -
Vieraile osoitteessa
http://127.0.0.1:8000/admin/ja kirjaudu sisään luomallasi superkäyttäjällä. Sinun pitäisi nähdä "Questions" -moduuli, jossa voit lisätä, muokata ja poistaa kysymyksiä.
8. Käytä malleja
Mallien avulla voit luoda HTML-sivuja joustavammin.
-
Luo
myapp-hakemistoon hakemisto nimeltätemplatesja luotemplates-hakemistoon hakemisto nimeltämyapp(myapp/templates/myapp). -
Luo
myapp/templates/myapp-hakemistoon tiedosto nimeltäindex.htmlja lisää seuraava koodi:Hello, Django! The current time is: {{ current_time }} -
Muokkaa
myapp/views.py-tiedostoa ja käytä mallia:from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})render-funktio lataa mallin ja välittää tiedot mallille renderöintiä varten. -
Vieraile uudelleen osoitteessa
http://127.0.0.1:8000/myapp/. Sinun pitäisi nähdä sivu, joka sisältää nykyisen ajan.
9. Johtopäätös
Tämän oppaan avulla olet oppinut Django:n peruskäsitteet ja käyttötavat, mukaan lukien ympäristön asennuksen, projektien ja sovellusten luomisen, mallien määrittelyn, näkymien luomisen ja mallien käytön. Tämä on vasta alkua, Django tarjoaa runsaasti ominaisuuksia, joita voit jatkaa opiskelua ja tutkimista rakentaaksesi monimutkaisempia verkkosovelluksia.





