Ga naar hoofdinhoud

Project checken

Heb je je FastAPI-project af, of ben je een eind op weg? Upload je projectbestanden (main.py, je static/-map en je templates/) en zie meteen hoeveel bestanden je hebt.

Let op: je bestanden gaan nooit naar een server. Alles gebeurt in je eigen browser.

Wat kun je uploaden?​

  • Een .zip-bestand van je project
  • Losse bestanden (main.py, style.css, home.html, …)
  • Een hele map met je project
Checker laden...

Je server controleren​

De nakijker hierboven leest je bestanden. Of je server ook doet wat de les belooft, zie je pas als hij draait. Daarvoor is er een klein Python-script dat je server per hoofdstuk nakijkt.

  1. Download controleer.py en zet het in je projectmap, naast main.py.
  2. Start je server in de terminal van VS Code met fastapi dev main.py.
  3. Open een tweede terminal met het plusje (+) rechtsboven in het terminalpaneel.
  4. Typ daar python controleer.py en de naam van het hoofdstuk:
python controleer.py formulieren

Draait je server op een andere poort, zet het adres er dan achter: python controleer.py formulieren --adres http://127.0.0.1:8001.

HoofdstukTyp
Je eerste servereerste-server
Losse pagina's en routespaginas
Eén route voor veel pagina'sveel-paginas
CSS en afbeeldingencss-en-afbeeldingen
Templates en formulierenformulieren
Berichten opslaanberichten-opslaan
Berichten tonenberichten-tonen
Berichten verwijderenberichten-verwijderen
Accountsaccounts
Uitbreiding: zonder herladen (htmx)zonder-herladen
Uitbreiding: JavaScript in de browserin-de-browser
Uitbreiding: onthouden (cookies en sessies)onthouden
Afrondenafronden

Gegevens opslaan (SqliteDict) staat er niet bij: die lessen zijn losse scripts, zonder server. Typ je python controleer.py zonder hoofdstuk, dan toont het script deze lijst.

Elke regel is één controle. Een ✓ betekent dat je server doet wat de les belooft. Bij een ✗ staat eronder wat er mis is, wat je eraan kunt doen en een link naar de uitleg. Onderaan staat hoeveel controles goed gingen. Een eerder hoofdstuk kun je later opnieuw controleren: je project groeit, maar wat toen werkte, hoort te blijven werken. Logt je gastenboek sinds de uitbreiding over sessies in via /inloggen, dan logt het script daar ook in. Van de htmx-recepten controleert het alleen wat je bouwde.

✓ Het formulier op /groet past bij POST /groet (naam).
✗ Het formulier op /naam mist het veld naam.
POST /verstuur verwacht naam; het formulier stuurt voornaam. Maak het name-attribuut letter voor letter gelijk aan de parameter in Python.

Vanaf Berichten opslaan schrijft het script in je databases. Het zegt vooraf wat het toevoegt:

  • een bericht met controle- en vier cijfers erin. Kan je server al verwijderen, dan haalt het script het daarna weer weg.
  • het account controle-0000, als je gastenboek om een wachtwoord of een sessie vraagt. Dat blijft staan, want een account verwijderen zit niet in de cursus.
  • een sessie in sessies.db voor elke keer dat het inlogt, vanaf de uitbreiding over sessies. Die blijven staan, net als het account.
  • bij berichten-opslaan ook een naam in namen.db. Daarna zet het de naam terug die er stond.
  • bij accounts elke keer een nieuw account met controle- en vier cijfers, want dat hoofdstuk controleert ook het registreren.