Suite de la web-app, python->page html avec Jinja2
This commit is contained in:
parent
685ba6a184
commit
6520c5aa55
@ -1,22 +1,74 @@
|
||||
[Vendredi 16 Janvier 2026]
|
||||
|
||||
1. [Commande du jour]
|
||||
# uvicorn app:app --reload --host 0.0.0.0 --port 8000
|
||||
|
||||
ctrl + r = permets de regarder dans l'historique du terminal
|
||||
ctrl + r + uvi = historique de uvicorn
|
||||
|
||||
semaine prochaine test avec api ia sur les servs du garage
|
||||
(semaine prochaine test avec api ia sur les servs du garage
|
||||
-> on demandera un résumé des infos qu'on lui envoie
|
||||
page de présentation avec une requête get (page)
|
||||
page de présentation avec une requête get (page))
|
||||
|
||||
-----------------------------------------------
|
||||
|
||||
MVC (Model View Controller)
|
||||
^ ^ ^
|
||||
| | |
|
||||
Ordinateur Dashboard app.py -> /enpoint
|
||||
MVC (Model View Controller)
|
||||
^ ^ ^
|
||||
| | |
|
||||
Ordinateur Dashboard app.py -> /enpoint
|
||||
Utilisateurs
|
||||
|
||||
-----------------------------------------------
|
||||
2. [Echauffement + démarrage à froid ce matin]
|
||||
|
||||
motif d'architecture logicielle destiné aux interfaces graphiques
|
||||
|
||||
quoi mettre sur notre portfolio : app p2p / homeserver / un jeu / app agenda météo agenda
|
||||
quoi mettre sur notre portfolio : app p2p / homeserver / un jeu /
|
||||
|
||||
app agenda météo agenda
|
||||
|
||||
ajout dans l'app.py pour importer les données de ordinateur.py
|
||||
|
||||
mise en commentaire pour test/remplacement de def init reload etc dans ordinateur
|
||||
|
||||
pip install requests (puis pip freeze dans le .txt)
|
||||
|
||||
-----
|
||||
3. [JSON + Display avec local host]
|
||||
|
||||
test de nouvelle fonction app.get dans app.py return ordi1 (dépréciée dans la partie 4)
|
||||
fonction pour afficher les données de Ordinateur sur une page HTML
|
||||
Affiche sur une page web locale les infos de grabber via la section debug
|
||||
|
||||
|
||||
de base : variable déclarée dans une fonction est locale et ne peux pas être accédée par une demande externe
|
||||
|
||||
si elle est déclarée dehors elle est globale
|
||||
|
||||
4. [LE RETOUR DU HTML (JINJA2)]
|
||||
# -> pip install jinja2
|
||||
jinja2 est un moteur de template HTML/python -> page html avec balises spéciales qui recoivent les données d'appli python
|
||||
|
||||
(il est possible d'intégrer un espace de virtualisation Python dans VScode)
|
||||
créer un dossier templates dans le dossier grabber (stockage des pages html ex index.html)
|
||||
|
||||
Dans grabber : (ajout de la collecte de l'addresse mac :
|
||||
ip link | awk '/ether/ {print $2; exit)'
|
||||
|
||||
Dans app.py :
|
||||
from ordinateur import Ordinateur
|
||||
from fastapi.templating import Jinja2Templates
|
||||
from fastapi import Request as Req
|
||||
from fastapi.responses import HTMLResponse
|
||||
from fastapi.staticfiles import StaticFiles
|
||||
|
||||
|
||||
templates = Jinja2Templates(directory="templates")
|
||||
|
||||
@app.get("/ordi1")
|
||||
async def show_info(request: Req):
|
||||
return templates.TemplateResponse("index.html", {"request": request, "ordi": ordi1})
|
||||
|
||||
# dans ce contexte request et ordi sont des paramètres qui sont envoyés/appliqués sur la page HTML, en l'occurence "index.html"
|
||||
|
||||
voir les commentaires dans mon app.py pour plus de clarté, assez chaud d'expliciter le code ici dans
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user