将宏添加到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第三方库


热门话题
选项卡内的java 安卓工具栏   java接口VS API VS公共类   无法解析java。lang.ClassNotFoundException:在安卓 studio中找不到类“com.example.安卓.camera2basic.AutoFitTextureView”?   java等待线程正常完成   java在JTable中的prepareRenderer方法中编辑单元格数据是否可行?   java SessionNotCreatedException selenium webdriver   java Android Studio Gradle CreateProcess错误=2   java找不到适用于异常(int)的构造函数   javascript如何在不使用正则表达式的情况下检查输入是否为表情符号?   从JAVA运行ant时,JAVA_HOME变量不正确   long的java min值引发异常   java如何在这段代码中实现侦听器?   带有透明文本的java Android按钮   图像Java扫描仪问题(JFrame)   java模拟输入蒸汽似乎在Junit测试的第一次输入中就被吃掉了   压缩Java Deflater,现在和将来的结果相同(确定性)   java JTable getModel()。setValueAt从数组中删除第一个元素   java我有不同于编译器和计算器的价值   使用C#客户端调用基本身份验证java webservice   java相同类型的多个@Embedded字段在持久化后始终为空