mirror of https://github.com/tiangolo/fastapi.git
📝 Add HTML media type to template docs (#1690)
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
This commit is contained in:
parent
1df2f14c64
commit
769ee73240
|
|
@ -39,13 +39,16 @@ $ pip install aiofiles
|
||||||
* Declare a `Request` parameter in the *path operation* that will return a template.
|
* Declare a `Request` parameter in the *path operation* that will return a template.
|
||||||
* Use the `templates` you created to render and return a `TemplateResponse`, passing the `request` as one of the key-value pairs in the Jinja2 "context".
|
* Use the `templates` you created to render and return a `TemplateResponse`, passing the `request` as one of the key-value pairs in the Jinja2 "context".
|
||||||
|
|
||||||
```Python hl_lines="3 10 14 15"
|
```Python hl_lines="4 11 15 16"
|
||||||
{!../../../docs_src/templates/tutorial001.py!}
|
{!../../../docs_src/templates/tutorial001.py!}
|
||||||
```
|
```
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
Notice that you have to pass the `request` as part of the key-value pairs in the context for Jinja2. So, you also have to declare it in your *path operation*.
|
Notice that you have to pass the `request` as part of the key-value pairs in the context for Jinja2. So, you also have to declare it in your *path operation*.
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
By declaring `response_class=HTMLResponse` the docs UI will be able to know that the response will be HTML.
|
||||||
|
|
||||||
!!! note "Technical Details"
|
!!! note "Technical Details"
|
||||||
You could also use `from starlette.templating import Jinja2Templates`.
|
You could also use `from starlette.templating import Jinja2Templates`.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
from fastapi import FastAPI, Request
|
from fastapi import FastAPI, Request
|
||||||
|
from fastapi.responses import HTMLResponse
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
from fastapi.templating import Jinja2Templates
|
from fastapi.templating import Jinja2Templates
|
||||||
|
|
||||||
|
|
@ -10,6 +11,6 @@ app.mount("/static", StaticFiles(directory="static"), name="static")
|
||||||
templates = Jinja2Templates(directory="templates")
|
templates = Jinja2Templates(directory="templates")
|
||||||
|
|
||||||
|
|
||||||
@app.get("/items/{id}")
|
@app.get("/items/{id}", response_class=HTMLResponse)
|
||||||
async def read_item(request: Request, id: str):
|
async def read_item(request: Request, id: str):
|
||||||
return templates.TemplateResponse("item.html", {"request": request, "id": id})
|
return templates.TemplateResponse("item.html", {"request": request, "id": id})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue