-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
35 lines (25 loc) · 970 Bytes
/
Copy pathmain.py
File metadata and controls
35 lines (25 loc) · 970 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from starlette.applications import Starlette
from starlette.routing import Route
from starlette.requests import Request
from starlette.responses import PlainTextResponse,JSONResponse
from starlette.templating import Jinja2Templates
templates = Jinja2Templates(directory="templates")
async def index(request:Request):
sid = request.path_params.get("id")
sname = request.query_params.get("sname") or "no query inputted"
return PlainTextResponse(content=f"Hello student {sname} ")
async def json_out(request:JSONResponse):
return JSONResponse(content={'msg':'Hello World'})
async def html_enpoint(request:Request):
sname = "Jordan"
context={'request':request,'msg':sname}
return templates.TemplateResponse("index.html" , context)
routes = [
Route('/{id:int}',endpoint = index),
Route('/api',endpoint = json_out),
Route('/html',endpoint = html_enpoint)
]
app = Starlette (
debug = True,
routes = routes
)