跳转到主要内容

将宏添加到您的django模板中

项目描述

PyPI Version

django-templates-macros

将宏添加到您的django模板中

起源

此应用程序的原始代码来自MattP在https://djangosnippets.org/snippets/2892/上的代码片段

此代码片段引用了

Based on snippet by
    Michal Ludvig <michal@logix.cz> http://www.logix.cz/michal
    http://djangosnippets.org/snippets/363/

Extended for args and kwargs into templatetags/kwacro.py by
    Skylar Saveland <michal@logix.cz> http://skyl.org
    https://gist.github.com/skyl/1715202

Modified to support rendering into context by matt@peloquin.com

在哪里

您可以在以下位置找到此包

使用方法

  1. 将此应用程序“宏”添加到您的INSTALLED_APPS中

  2. 在您的模板中加载库

    {% load macros %}
  3. 定义一个新的名为“my_macro”的宏,它接受参数和/或关键字参数,所有这些都是可选的

    {% macro my_macro arg1 arg2 baz="Default baz" %}
        {% firstof arg1 "default_arg1" %}
        {% if arg2 %}{{ arg2 }}{% else %}default_arg2{% endif %}
        {{ baz }}
    {% endmacro %}
  4. 使用宏与字符串参数或上下文变量

    {% usemacro my_macro "foo" "bar" baz="KW" %}
    <br>
    {% usemacro my_macro num_pages "bar" %}

渲染如下

foo bar KW
77 bar Default baz
  1. 或者将您的宏保存到单独的文件中,例如“mymacro.html”,然后使用以下方式将其加载到当前模板中

        {% loadmacros "mymacros.html" %}
    
    Then use these loaded macros in as described above.

请注意,定义和加载的宏是每个模板文件本地的,并且不会通过 {% extends … %} 标签继承。

  1. 当需要递归宏时,请使用“recurse_macro”模板标签

    {% macro MENU entries %}
    <ul>
        {% for entry in entries %}
        <li>
            <a href="{{ entry.link }}"> {{ entry.label }} </a>
            {% if entry.children %}
                {% recurse_macro MENU entry.children %}
            {% endif %}
        </li>
        {% endfor %}
    </ul>
    {% endmacro %}
    {% usemacro MENU menu.children %}

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

django-templates-macros-0.3.tar.gz (5.1 kB 查看哈希值)

上传时间 源代码

构建分发

django_templates_macros-0.3-py3-none-any.whl (5.7 kB 查看哈希值)

上传时间 Python 3

支持者