Skip to content

3. Huskeliste-app

classDiagram
Huskeliste --* Listepunkt

class Huskeliste{
    +str brukernavn
    +list~Listepunkt~ punkter
    +legg_til_listepunkt(tekst: str) None
    +endre_status(punktnummer: int) None
}
class Listepunkt{
    -str tekst
    -bool ferdig

    +endre_status() None
}
Mermaid-kode
classDiagram
Huskeliste --* Listepunkt

class Huskeliste{
    +str brukernavn
    +list~Listepunkt~ punkter
    +legg_til_listepunkt(tekst: str) None
    +endre_status(punktnummer: int) None
}
class Listepunkt{
    -str tekst
    -bool ferdig

    +endre_status() None
}

Lag (implementer) klassene Huskeliste og Listepunkt i filen huskeliste.py.

Tips
class Huskeliste:
def __init__(self, brukernavn: str):
...
def legg_til_listepunkt(self, tekst: str):
...
def endre_status(self, punktnummer: int):
...
class Listepunkt:
def __init__(self, tekst: str):
...
def endre_status(self):
...
Løsningsforslag
class Huskeliste:
def __init__(self, brukernavn):
self.brukernavn: str = brukernavn
self.punkter: list[Listepunkt] = []
def legg_til_listepunkt(self, tekst: str):
nytt_punkt = Listepunkt(tekst)
self.punkter.append(nytt_punkt)
def endre_status(self, punktnummer: int):
self.punkter[punktnummer].endre_status()
class Listepunkt:
def __init__(self, tekst: str):
self.tekst: str = tekst
self.ferdig: bool = False
def endre_status(self):
self.ferdig = not self.ferdig # sett self.ferdig til det motsatte
  1. Lag en ny fil app.py
  2. Importer klassen Huskeliste fra filen huskeliste.py.
from huskeliste import Huskeliste
  1. Opprett et huskeliste-objekt.
from huskeliste import Huskeliste
min_liste = Huskeliste("thorcc")
  1. Legg til to listepunkt med valgfri tekst.
from huskeliste import Huskeliste
min_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")
min_liste.legg_til_listepunkt("Gjøre IT-leksa")
  1. Importer Flask, render_template fra flask-modulen øverst i app.py.
from flask import Flask, render_template
from huskeliste import Huskeliste
min_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")
min_liste.legg_til_listepunkt("Gjøre IT-leksa")
  1. Opprett en et objekt av Flask-klassen (opprett en flask-app).
from flask import Flask, render_template
from huskeliste import Huskeliste
min_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")
min_liste.legg_til_listepunkt("Gjøre IT-leksa")
app = Flask(__name__)
  1. Start appen ved å kjøre metoden run på appen, send inn debug=True som argument.
from flask import Flask, render_template
from huskeliste import Huskeliste
min_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")
min_liste.legg_til_listepunkt("Gjøre IT-leksa")
app = Flask(__name__)
app.run(debug=True)
  1. Legg til en rute til / som returnerer Antall gjøremål: ANTALL
from flask import Flask, render_template
from huskeliste import Huskeliste
min_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")
min_liste.legg_til_listepunkt("Gjøre IT-leksa")
app = Flask(__name__)
@app.get("/")
def rute_index():
return f"Antall gjøremål: {len(min_liste.punkter)}"
app.run(debug=True)
  1. Lag en ny mappe templates i samme mappe som app.py og lag filen index.html i templates-mappen.

  2. Returner