将宏添加到django模板

django-templates-macros的Python项目详细描述


PyPI Version

django模板宏

将宏添加到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. 将此应用程序“宏”添加到已安装的应用程序中

  2. 在模板中加载库:

    {% load macros %}
    
  3. 定义一个名为“my_macro”的新宏,它接受args和/或kwargs 所有选项都是可选的:

    {% 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" %}
    <br>
    {% setmacro my_macro %} {{ my_macro }}
    

Renders like:

foo bar KW
77 bar Default baz
default_arg1 default_arg2 Default baz
  1. 或者将宏保存在一个单独的文件中,例如“mymacro.html”,并使用以下命令将其加载到当前模板:

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

请记住,定义和加载的宏是每个模板的本地宏 不是通过{%extends…%}标记继承的。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
带Maven的Eclipse Java存储库:缺少工件:compile   java如何以编程方式停止RMI服务器并通知所有客户端   java Roboguice抛出ClassNotFoundException:AnnotationDatabaseImpl   java为什么lucene 4.0删除IndexWriter类的两个构造函数?   nls如何避免java项目上不需要的日志消息?   测试无法在Selenium Webdriver(java)中定位iframe   使用XML的java servlet   java如何使用jxl用****屏蔽单元格   java使用SQLite从数据库中选择“没有这样的列”   导入扫描程序后出现java编译错误   插入查询的java空指针异常   使用创建PostgreSQL数据库。Java应用中的sql脚本   java使用jsoup将HTML解析为格式化的明文