# jinja2教程 **Repository Path**: ryiot/jinja2-tutorial ## Basic Information - **Project Name**: jinja2教程 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-14 - **Last Updated**: 2024-07-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Jinja2教程 ## 运行环境 ### 虚拟环境 ```bash # 创建虚拟环境 python3 -m venv venv # 激活虚拟环境(bash shell) source venv/bin/activate # 安装依赖 pip3 install -r requirements.txt # 退出虚拟环境 deactivate ``` ### pip3 源 ```bash # 查看pip源 pip3 config list # 使用阿里源 pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple/ ``` ### 导出依赖 ```bash # 生成 requirements.txt 文件 pip3 freeze > requirements.txt ``` ### 安装Jinja2 pip3 install Jinja2 ### 空白行的处理 通过上面的实践,你可能会发现,生成的结果中,有很多空行,默认情况下,jinja2 会给渲染后的结果加上空行。 如果需要去除模板中的空白,如 For 语句前后、变量表达式的开头或结尾添加减号 (-),就会删除这个语句块之前或之后的空格。 以上文中的 for 循环为例,修改模板如下: ```templatext # cat jinja2.j2 {% for name in names -%} Hello {{ name }}. {%- endfor %} ``` 注意上面的 - 符号,放在 for 的结尾,是删除语句块之前的空行,放在 endfor 之前,是删除语句块之后的空行,如果前后的空行都删除了,则内容会在同一行,所以,上面模板渲染之后的输出为: ```templatext Hello Zhang San.Hello Li Si.Hello Wang Wu. ``` 具体请根据自己的需求来进行空白行的控制。