`
hoodbc
  • 浏览: 114851 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

jinja2 调用自定义函数

阅读更多
按照javaeye上的文章 用jinja2替换掉django原来自带的模板系统。

鼓弄了一个jinja2的模板调用自定义函数的一个例子

class Loader(BaseLoader):   
    is_usable = True
    env = jinja2.Environment(loader=jinja2.FileSystemLoader(settings.TEMPLATE_DIRS))
    env.template_class = Template
    #这里
    env.filters['cut_date'] = datetimeformat

    env.globals['url_for'] = urlresolvers.reverse   
    env.globals['MEDIA_URL'] = settings.MEDIA_URL


def datetimeformat(value, format='%H:%M / %d-%m-%Y'):
    return value.strftime(format)


代码很简单,注册一个jinja2 的 filters(过滤器?)env.filters['cut_date'] = datetimeformat

调用datetimeformat函数返回需要的日期格式。
分享到:
评论

相关推荐

    flask+jinja2+echarts模板案例.rar

    首先,Flask应用会接收用户请求,根据路由规则调用相应的视图函数。视图函数可能需要从数据库或者其他数据源获取数据,然后使用Jinja2模板生成包含Echarts配置的HTML页面。在HTML页面中,Echarts图表的配置被写入...

    jinja2简单示例

    - **表达式**:Jinja2支持基本的算术运算、比较运算和逻辑运算,还可以调用函数,如`{{ 5 + 3 }}`,`{{ user.is_active }}`。 ### 3. 控制流 - **条件语句**:`{% if condition %}...{% endif %}`,`{% elif %}`,...

    jinja doc jinja文档pdf

    - **自定义过滤器(Custom Filters)**:允许开发者扩展Jinja2的功能。 - **评估上下文(Evaluation Context)**:用于控制如何评估表达式。 - **全局命名空间(Global Namespace)**:可以在所有模板中访问的全局变量集合...

    SSTI漏洞学习(下)——Flask_Jinja模板引擎的相关绕过 .pdf

    在这个payload中,`''.__class__.__mro__[2]`获取到了`str`类的基类`object`,然后遍历它的子类,通过`__init__.__globals__['__builtins__']`获取到内置模块,并尝试调用`file`函数来读取文件。 此外,攻击者还...

    Flask模板引擎之Jinja2语法介绍

    ### Flask 模板引擎之 Jinja2 语法详细介绍 #### 一、引言 Jinja2 是一个功能强大且灵活的模板引擎,被广泛应用于 Python 的 Web 开发框架 Flask 中。它不仅支持基本的模板继承与块替换,还提供了一系列高级特性如...

    PyPI 官网下载 | govuk-frontend-jinja-1.2.0.tar.gz

    在项目中使用时,可以通过导入库并调用相关函数或模板标签来应用govuk-frontend的组件。比如,你可以将govuk-frontend的样式引入到HTML模板中,然后利用Jinja2的模板语法创建一个按钮: ```html {% from 'govuk/...

    pypugjs:适用于Django,Jinja2和Mako模板的PugJS语法适配器

    在Jinja2环境中,你可以创建一个自定义的模板 loader,用于加载.pug文件并使用pypugjs将其转换为Jinja2可以理解的格式。Mako的集成方式类似,需要设置模板引擎以使用pypugjs解析.pug文件。 **安装与使用:** 安装...

    templatel:Emacs Lisp的Jinja启发式模板语言

    - **宏**:自定义重复使用的代码块,类似于函数,定义为`{% macro name(args) %}...{% endmacro %}`,调用时写`{% call name(value) %}{% endcall %}`。 **5. 使用`templatel`** `templatel`通常配合Emacs的模板...

    jinja:一个非常快速且富有表现力的模板引擎

    Jinja 允许你自定义标签和过滤器,甚至可以创建自己的模板语言子集。这使得它能够适应特定项目的需求,例如集成额外的功能或优化特定场景。 总的来说,Jinja 是一个强大且功能丰富的模板引擎,它为 Python 开发者...

    Python-FlaskMovieWebsite基于Python的Flask框架在线电影网站系统

    它们使用Jinja2语法,可以嵌入变量、控制流和函数调用,使HTML代码更具动态性。 **表单处理** 在`forms.py`中定义了表单类,如`SearchForm`,用于用户搜索电影。Flask-WTF扩展提供了与WTForms库的集成,支持表单...

    python_flask_code配套资料

    例如,`@app.route('/hello')`表示访问路径为'/hello'时,调用相应的视图函数。 2. 视图:视图函数接收HTTP请求,处理后返回响应,可以是HTML页面、JSON数据或其他格式。 三、模板渲染 Flask使用Jinja2作为默认的...

    Python-xhtml2pdfHTMLCSS转PDF工具

    - **模板引擎**:`xhtml2pdf`可以结合Jinja2等模板引擎,动态生成PDF内容。 - **图像处理**:支持SVG图像,并可以通过`img`标签插入网络图片。 - **自定义样式**:可以通过CSS类定义自定义样式,并应用到PDF上。 ...

    flask-app-源码.rar

    在`flask-app-源码`中,我们可以看到定义的路由规则,如`@app.route('/')`,这表示当用户访问根URL时,对应的视图函数(通常是一个Python函数)将被调用。视图函数负责生成响应,可以是HTML页面、JSON数据或者其他...

    flask框架包

    例如,`@app.route('/')`表示当用户访问网站根目录时调用的函数。 3. **视图函数**:在Flask中,视图函数是处理HTTP请求并返回响应的函数。它们通常接收请求参数,并根据这些参数生成相应的HTML页面或JSON数据。 4...

    flask框架自定义过滤器示例【markdown文件读取和展示功能】

    经过这一步,我们就可以在Jinja2模板中通过{{ read_md('test.md') | md | safe }}的方式来调用“read_md”函数读取Markdown文件,并通过之前自定义的“md”过滤器进行渲染,最终以HTML的形式安全地展示出来。...

    PyPI 官网下载 | flask_render_specific_template-1.1.tar.gz

    3. **配置模板选择逻辑**:根据需求编写模板选择逻辑,可以是装饰器或者自定义函数。 4. **使用扩展**:在视图函数中调用扩展提供的功能,指定需要渲染的模板。 5. **测试和调试**:运行应用,测试模板渲染是否按...

    flask-0.1.zip

    这个例子中,`hello_world`函数就是一个视图函数,当访问应用的根URL("/")时,会调用该函数并返回字符串"Hello, World!"。 ### 学习资源 要深入学习Flask框架,可以参考官方文档,参与社区讨论,以及阅读相关...

    基于Python的Flask框架开发的在线电影网站系统源码.zip

    视图函数可以调用模型来获取或更新数据,然后传递给模板。 4. 模板:使用Jinja2模板语言创建动态HTML页面。例如,电影列表页面可能遍历所有电影并显示其名称、简介和海报图片。 5. 路由:Flask的路由系统允许定义...

    bottle-master.zip

    4. **启动服务器**:调用`run()`函数启动内置服务器,例如`app.run()`。 5. **处理模板**:可选地,使用模板引擎处理动态内容,如Jinja2的`render_template()`。 五、实战案例 假设我们有一个简单的“Hello, World!...

Global site tag (gtag.js) - Google Analytics