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
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.
- Download controleer.py en zet het in je projectmap, naast
main.py. - Start je server in de terminal van VS Code met
fastapi dev main.py. - Open een tweede terminal met het plusje (+) rechtsboven in het terminalpaneel.
- Typ daar
python controleer.pyen 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.
| Hoofdstuk | Typ |
|---|---|
| Je eerste server | eerste-server |
| Losse pagina's en routes | paginas |
| Eén route voor veel pagina's | veel-paginas |
| CSS en afbeeldingen | css-en-afbeeldingen |
| Templates en formulieren | formulieren |
| Berichten opslaan | berichten-opslaan |
| Berichten tonen | berichten-tonen |
| Berichten verwijderen | berichten-verwijderen |
| Accounts | accounts |
| Uitbreiding: zonder herladen (htmx) | zonder-herladen |
| Uitbreiding: JavaScript in de browser | in-de-browser |
| Uitbreiding: onthouden (cookies en sessies) | onthouden |
| Afronden | afronden |
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.dbvoor elke keer dat het inlogt, vanaf de uitbreiding over sessies. Die blijven staan, net als het account. - bij
berichten-opslaanook een naam innamen.db. Daarna zet het de naam terug die er stond. - bij
accountselke keer een nieuw account metcontrole-en vier cijfers, want dat hoofdstuk controleert ook het registreren.