committed by
GitHub
2 changed files with 40 additions and 0 deletions
@ -0,0 +1,39 @@ |
|||
# 静态文件 |
|||
|
|||
您可以使用 `StaticFiles`从目录中自动提供静态文件。 |
|||
|
|||
## 使用`StaticFiles` |
|||
|
|||
* 导入`StaticFiles`。 |
|||
* "挂载"(Mount) 一个 `StaticFiles()` 实例到一个指定路径。 |
|||
|
|||
```Python hl_lines="2 6" |
|||
{!../../../docs_src/static_files/tutorial001.py!} |
|||
``` |
|||
|
|||
!!! note "技术细节" |
|||
你也可以用 `from starlette.staticfiles import StaticFiles`。 |
|||
|
|||
**FastAPI** 提供了和 `starlette.staticfiles` 相同的 `fastapi.staticfiles` ,只是为了方便你,开发者。但它确实来自Starlette。 |
|||
|
|||
### 什么是"挂载"(Mounting) |
|||
|
|||
"挂载" 表示在特定路径添加一个完全"独立的"应用,然后负责处理所有子路径。 |
|||
|
|||
这与使用`APIRouter`不同,因为安装的应用程序是完全独立的。OpenAPI和来自你主应用的文档不会包含已挂载应用的任何东西等等。 |
|||
|
|||
你可以在**高级用户指南**中了解更多。 |
|||
|
|||
## 细节 |
|||
|
|||
这个 "子应用" 会被 "挂载" 到第一个 `"/static"` 指向的子路径。因此,任何以`"/static"`开头的路径都会被它处理。 |
|||
|
|||
`directory="static"` 指向包含你的静态文件的目录名字。 |
|||
|
|||
`name="static"` 提供了一个能被**FastAPI**内部使用的名字。 |
|||
|
|||
所有这些参数可以不同于"`static`",根据你应用的需要和具体细节调整它们。 |
|||
|
|||
## 更多信息 |
|||
|
|||
更多细节和选择查阅 <a href="https://www.starlette.io/staticfiles/" class="external-link" target="_blank">Starlette's docs about Static Files</a>. |
Loading…
Reference in new issue