Django Introduksjonsguide: Bygg din første webapplikasjon raskt
Django Introduksjonsguide: Bygg din første webapplikasjon raskt
Django er et avansert Python-webrammeverk med mål om rask utvikling og et rent design. Det følger modell-mal-visning (MTV)-arkitekturen, og oppmuntrer til gjenbruk av kode og komponentisering. Denne guiden vil lede deg trinn for trinn gjennom opprettelsen av en enkel Django-applikasjon, slik at du raskt kommer i gang.
1. Miljøoppsett
Først må du sørge for at Python er installert på systemet ditt. Django anbefaler å bruke Python 3.6 eller nyere.
1.1 Installere Python
Hvis systemet ditt ikke har Python installert, kan du laste ned og installere det fra Pythons offisielle nettsted.
1.2 Opprette et virtuelt miljø (Virtual Environment)
For å isolere avhengigheter mellom forskjellige prosjekter, anbefales det sterkt å bruke et virtuelt miljø.
-
Åpne terminalen eller ledeteksten.
-
Opprett en prosjektkatalog, for eksempel
myproject:mkdir myproject cd myproject -
Opprett og aktiver det virtuelle miljøet:
python3 -m venv venv # Eller python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsEtter at du har aktivert det virtuelle miljøet, vil terminalprompten vise
(venv), noe som indikerer at du bruker det virtuelle miljøet.
1.3 Installere Django
I det aktiverte virtuelle miljøet, bruk pip for å installere Django:
pip install Django
Bekreft at installasjonen var vellykket:
python -m django --version
Du skal kunne se Django-versjonsnummeret.
2. Opprette et Django-prosjekt
Etter å ha installert Django, kan du opprette et nytt Django-prosjekt.
-
Fortsatt i prosjektkatalogen din (
myproject), kjør følgende kommando:django-admin startproject mysiteDette vil opprette en katalog kalt
mysiteimyproject-katalogen, som inneholder skjelettfilene for Django-prosjektet. -
Gå inn i
mysite-katalogen:cd mysite -
Django-prosjektkatalogstrukturen er som følger:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Et kommandolinjeverktøy for å administrere Django-prosjektet.mysite/: En Python-pakke som inneholder prosjektkonfigurasjonen.__init__.py: En tom fil som forteller Python at katalogen skal betraktes som en Python-pakke.settings.py: Prosjektets konfigurasjonsfil, for eksempel databaseinnstillinger, feilsøkingsmodus osv.urls.py: URL-rutekonfigurasjon, som kartlegger URL-er til visningsfunksjoner.asgi.py: ASGI (Asynchronous Server Gateway Interface) konfigurasjonsfil, brukt til å distribuere asynkrone applikasjoner.wsgi.py: WSGI (Web Server Gateway Interface) konfigurasjonsfil, brukt til å distribuere tradisjonelle synkrone applikasjoner.
3. Starte utviklingsserveren
Django kommer med en lettvekts utviklingsserver som gjør det enkelt å utvikle og teste lokalt.
-
I
mysite-mappen, kjør følgende kommando:python manage.py runserver -
Åpne nettleseren din og gå til
http://127.0.0.1:8000/. Du burde se siden "It worked! Congratulations on your first Django-powered page.".
4. Opprette en Django-applikasjon
Et Django-prosjekt kan inneholde flere applikasjoner. La oss opprette en applikasjon kalt myapp.
-
Åpne et nytt terminalvindu (la utviklingsserveren kjøre).
-
I
mysite-mappen, kjør følgende kommando:python manage.py startapp myappDette vil opprette en mappe kalt
myappimysite-mappen, som inneholder skjelettfilene for Django-applikasjonen. -
Django-applikasjonsmappestrukturen er som følger:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: En tom fil som forteller Python at denne mappen skal behandles som en Python-pakke.admin.py: Brukes til å konfigurere Django-administrasjonspanelet.apps.py: Applikasjonskonfigurasjon.migrations/: Brukes til å administrere databasemigreringer.models.py: Definerer datamodeller (databasetabeller).tests.py: Skriv testtilfeller.views.py: Definerer visningsfunksjoner, behandler forespørsler og returnerer svar.
-
I
mysite/settings.py, legg tilmyappiINSTALLED_APPS-listen:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Legg til myapp ]
5. Opprette en enkel visning
Nå skal vi opprette en enkel visning som viser "Hello, Django!" i nettleseren.
-
Rediger
myapp/views.py-filen og legg til følgende kode:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Opprett en
myapp/urls.py-fil og kartlegg URL-en til visningsfunksjonen:from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] -
Legg til
myapp/urls.pyimysite/urls.py:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Legg til URL-konfigurasjonen for myapp ] -
Gå til
http://127.0.0.1:8000/myapp/. Du skal kunne se siden med "Hello, Django!".
6. Opprett en modell
La oss opprette en enkel modell for å lagre litt data.
-
Rediger filen
myapp/models.pyog legg til følgende kode: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_textDette definerer en modell kalt
Questionsom inneholder to felt:question_text(CharField) ogpub_date(DateTimeField). -
Opprett og bruk databasemigreringer:
python manage.py makemigrations myapp python manage.py migratemakemigrations-kommandoen oppretter migreringsfiler basert på modellen din, ogmigrate-kommandoen bruker migreringene på databasen.
7. Bruk Django-administrasjonspanelet
Django tilbyr et kraftig administrasjonspanel som gjør det enkelt å administrere dataene dine.
-
Opprett en superbruker:
python manage.py createsuperuserFølg instruksjonene for å angi brukernavn, e-postadresse og passord.
-
Rediger filen
myapp/admin.pyog registrerQuestion-modellen:from django.contrib import admin from .models import Question admin.site.register(Question) -
Gå til
http://127.0.0.1:8000/admin/og logg på med superbrukeren du opprettet. Du skal kunne se "Questions"-modulen, der du kan legge til, redigere og slette spørsmål.
8. Bruk maler
Ved å bruke maler kan du generere HTML-sider mer fleksibelt.
-
I
myapp-mappen, opprett en mappe kalttemplates, og itemplates-mappen, opprett en mappe kaltmyapp(myapp/templates/myapp). -
I
myapp/templates/myapp-mappen, opprett en fil kaltindex.html, og legg til følgende kode:Hello, Django! The current time is: {{ current_time }} -
Rediger
myapp/views.py-filen, bruk malen:from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})render-funksjonen vil laste malen og sende data til malen for gjengivelse. -
Besøk
http://127.0.0.1:8000/myapp/igjen. Du skal nå se en side som inneholder gjeldende tidspunkt.
9. Konklusjon
Gjennom denne guiden har du lært om de grunnleggende konseptene og bruken av Django, inkludert oppsett av miljø, opprettelse av prosjekter og applikasjoner, definering av modeller, opprettelse av visninger og bruk av maler. Dette er bare begynnelsen, Django tilbyr et bredt spekter av funksjoner, og du kan fortsette å lære og utforske for å bygge mer komplekse webapplikasjoner.





