将宏添加到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在比较数据后得到错误的结果   java如何在使用JSP创建的网站中创建父子关系和处理?   java配置单元UDF:无法执行求值方法   java GAE项目Intellij远程调试在关闭时不释放端口   java按钮上的放大和缩小功能点击JfreeChart折线图?   java Selenium Chrome Web驱动程序SessionNotCreatedException   java由ADFactoryBuilder生成的线程工厂是线程安全的吗?   java将字符串[]传递给另一个类Android(使用intent)   我为什么要嘲笑java?   JavaLiferay门户不将对象从流程阶段发送到jsp   java我想在单击每个树节点时将要添加的信息放入jpanel jscrollpane中   在Java中模拟数组引用(即对引用的引用)的按引用传递   Jackson将JSON属性反序列化为不同的Java对象   java使用JSP/servlet在网页上显示Excel工作表?   仿射变换Java:使用仿射变换时游戏速度减慢   Servlet JBoss AS 7的java EJB注入   在Oracle数据库中使用Java的plsql   java管理Maven项目中的库依赖项   JavaEclipseLink(JPA)异常:复合主键@JoinColumn