3. Huskeliste-app
Klassediagram
Section titled “Klassediagram”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
}
Oppgave 1 - Klasser i Python
Section titled “Oppgave 1 - Klasser i Python”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 motsatteOppgave 2 - Vis gjøremål i HTML
Section titled “Oppgave 2 - Vis gjøremål i HTML”- Lag en ny fil
app.py - Importer klassen
Huskelistefra filenhuskeliste.py.
from huskeliste import Huskeliste- Opprett et huskeliste-objekt.
from huskeliste import Huskelistemin_liste = Huskeliste("thorcc")- Legg til to listepunkt med valgfri tekst.
from huskeliste import Huskelistemin_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")min_liste.legg_til_listepunkt("Gjøre IT-leksa")- Importer
Flask,render_templatefraflask-modulen øverst iapp.py.
from flask import Flask, render_templatefrom huskeliste import Huskelistemin_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")min_liste.legg_til_listepunkt("Gjøre IT-leksa")- Opprett en et objekt av
Flask-klassen (opprett en flask-app).
from flask import Flask, render_templatefrom huskeliste import Huskelistemin_liste = Huskeliste("thorcc")
min_liste.legg_til_listepunkt("Lage ferdig huskeliste-appen")min_liste.legg_til_listepunkt("Gjøre IT-leksa")
app = Flask(__name__)- Start appen ved å kjøre metoden
runpå appen, send inndebug=Truesom argument.
from flask import Flask, render_templatefrom huskeliste import Huskelistemin_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)- Legg til en rute til
/som returnererAntall gjøremål: ANTALL
from flask import Flask, render_templatefrom huskeliste import Huskelistemin_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)-
Lag en ny mappe
templatesi samme mappe somapp.pyog lag filenindex.htmlitemplates-mappen. -
Returner