Online zetten: waar je server luistert
fastapi dev liet http://127.0.0.1:8000 zien, en fastapi run liet http://0.0.0.0:8000 zien. Dat adres zegt wie er bij je server kan.
Twee adressen
| Adres | Wie er bij je server kan |
|---|---|
127.0.0.1 | alleen deze computer |
0.0.0.0 | iedereen die deze computer kan bereiken, op elk netwerk waar hij aan hangt |
Op een server is 0.0.0.0 wat je wilt: daar moeten bezoekers van internet bij. Op je laptop is je site nog niet klaar voor bezoekers, en op het wifi van school kan dan een klasgenoot meekijken.
Zelf kiezen
Met --host kies je het adres zelf, en met --port de poort. Stop je server, en start hem zo:
fastapi run main.py --host 127.0.0.1 --port 8000
Zo start je je site voortaan op je laptop. Straks draait hij in een container, een afgeschermd stukje Linux, en daar is het andersom: dan moet hij juist op 0.0.0.0 luisteren. Dat zie je in les 16.
Je handleiding op /docs zette je in de route Veiligheid uit (Wat je server laat zien: de handleiding uitzetten). Deed je dat nog niet, doe het dan voordat je site in les 33 op internet komt.
Er gaat iets mis
No such option
No such option: --hots (Possible options: --host, --port)
Oorzaak: een tikfout in de optie. fastapi noemt erachter de opties die erop lijken.
Oplossing: typ --host met twee streepjes en zonder tikfout. Met fastapi run --help zie je alle opties.
De pagina laadt niet met een andere poort
Je startte met --port 8001, en http://127.0.0.1:8000 laadt niet meer.
Oorzaak: de poort is deel van het adres. Je site staat nu op 8001.
Oplossing: open http://127.0.0.1:8001, of start weer met --port 8000.
Opdrachten
Opdracht 1: Investigate - Waar staat het in de terminal?
Start je project één keer met fastapi dev main.py en één keer met fastapi run main.py --host 127.0.0.1. Welke regels in de terminal laten de verschillen zien?
Antwoord
Het adres staat bij Server started at: in beide gevallen http://127.0.0.1:8000. Het herladen zie je aan Will watch for changes in these directories: die regel staat er alleen bij dev. Bovenaan staat ook nog development mode of production mode.
Door naar les 4: de lijst van je packages.