金贾主题能力
justengel-theme的Python项目详细描述
Fastapi Jinja主题系统。在
包括块标记
这个模板系统大量使用include泳block标记。此标记将包含一个html文件作为块。 可以用与名称匹配的html文件或与基名称匹配的块标记重写此标记。在
为你的主题建立一个基础
{# theme_templates/theme/base.html #} <html><body> {% include_block "theme/sidenav.html" %} {% block contents %} <h1>Hello World!</h1> {% endblock %} </body></html>
主题的常规导航
^{pr2}$Override with block
使用块覆盖导航。块名将与基本html文件名相同。 注意:不同的模板目录
{# templates/main.html #} {% extends "theme/base.html" %} {% block sidenav %} <ul><li>Hello</li></ul> {% endblock sidenav %}
重写HTML文件
或者,您可以使用html文件重写。注意:不同的模板目录
{# templates/theme/sidenav.html #} <ul><li><ahref="/">Home</a></li><li><ahref="/link">Link to my other site</a></li></ul>
使用模板的Fastapi
fromfastapiimportFastAPI,Requestfromjustengel_themeimportThemeTemplatesMYD_DIR=os.path.dirname(__file__)# Search for project files firstproject_dir=os.path.join(MY_DIR,'templates')templates=ThemeTemplates(project_dir)# Search for theme files if project files are not foundtheme_dir=os.path.join(MY_DIR,'theme_templates')templates.add_directory(theme_dir)app=FastAPI()@app.get('/')defindex(request:Request):returnmaterial.TemplateResponse('main.html',{'request':request})
- 项目
标签: