Django Introduksjonsguide: Bygg din første webapplikasjon raskt

2/19/2026
5 min read

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ø.

  1. Åpne terminalen eller ledeteksten.

  2. Opprett en prosjektkatalog, for eksempel myproject:

    mkdir myproject
    cd myproject
    
  3. 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  # Windows
    

    Etter 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.

  1. Fortsatt i prosjektkatalogen din (myproject), kjør følgende kommando:

    django-admin startproject mysite
    

    Dette vil opprette en katalog kalt mysite i myproject-katalogen, som inneholder skjelettfilene for Django-prosjektet.

  2. Gå inn i mysite-katalogen:

    cd mysite
    
  3. Django-prosjektkatalogstrukturen er som følger:

    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            asgi.py
            wsgi.py
    
    • manage.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.

  1. I mysite-mappen, kjør følgende kommando:

    python manage.py runserver
    
  2. Å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.

  1. Åpne et nytt terminalvindu (la utviklingsserveren kjøre).

  2. I mysite-mappen, kjør følgende kommando:

    python manage.py startapp myapp
    

    Dette vil opprette en mappe kalt myapp i mysite-mappen, som inneholder skjelettfilene for Django-applikasjonen.

  3. 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.
  4. I mysite/settings.py, legg til myapp i INSTALLED_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.

  1. Rediger myapp/views.py-filen og legg til følgende kode:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, Django!")
    
  2. 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'),
    ]
    
  3. Legg til myapp/urls.py i mysite/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
    ]
    
  4. 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.

  1. Rediger filen myapp/models.py og 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_text
    

    Dette definerer en modell kalt Question som inneholder to felt: question_text (CharField) og pub_date (DateTimeField).

  2. Opprett og bruk databasemigreringer:

    python manage.py makemigrations myapp
    python manage.py migrate
    

    makemigrations-kommandoen oppretter migreringsfiler basert på modellen din, og migrate-kommandoen bruker migreringene på databasen.

7. Bruk Django-administrasjonspanelet

Django tilbyr et kraftig administrasjonspanel som gjør det enkelt å administrere dataene dine.

  1. Opprett en superbruker:

    python manage.py createsuperuser
    

    Følg instruksjonene for å angi brukernavn, e-postadresse og passord.

  2. Rediger filen myapp/admin.py og registrer Question-modellen:

    from django.contrib import admin
    from .models import Question
    
    admin.site.register(Question)
    
  3. 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.

  1. I myapp-mappen, opprett en mappe kalt templates, og i templates-mappen, opprett en mappe kalt myapp ( myapp/templates/myapp ).

  2. I myapp/templates/myapp-mappen, opprett en fil kalt index.html, og legg til følgende kode:

    
    
        
            Hello, Django!
        
        The current time is: {{ current_time }}
    
    
  3. 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.

  4. 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.

Published in Technology

You Might Also Like