在django模板中捕获输出的微库

django-capture-tag的Python项目详细描述


https://img.shields.io/travis/edoburu/django-capture-tag/master.svg?branch=masterhttps://img.shields.io/pypi/v/django-capture-tag.svghttps://img.shields.io/pypi/dm/django-capture-tag.svghttps://img.shields.io/badge/wheel-yes-green.svghttps://img.shields.io/pypi/l/django-capture-tag.svghttps://img.shields.io/codecov/c/github/edoburu/django-capture-tag/master.svg

在django模板中捕获输出的微库。

例如,这对于:

  • 在网页中重复页面标题,例如<title>标记和面包屑。
  • 重复社交媒体标签的内容。
  • 在多个位置重用缩略图输出。
  • 从扩展模板获取配置数据。

安装

从pypi安装模块:

pip install django-capture-tag

将包添加到INSTALLED_APPS

INSTALLED_APPS+=('capture_tag',)

在模板中加载标记:

{%loadcapture_tags%}

语法

提供以下选项:

{%capture%}...{%endcapture%}                    # output in {{capture}}{%capturesilent%}...{%endcapture%}             # output in {{capture}} only
{%captureasvarname%}...{%endcapture%}         # output in {{varname}}{%captureasvarnamesilent%}...{%endcapture%}  # output in {{varname}} only

示例用法

要捕获社交媒体标签:

{%loadcapture_tags%}<head>
    ...

    {# Allow templates to override the page title/description #}<metaname="description"content="{%captureasmeta_description%}{%blockmeta-description%}{%endblock%}{%endcapture%}"/><title>{%captureasmeta_title%}{%blockmeta-title%}Untitled{%endblock%}{%endcapture%}</title>{# display the same value as default, but allow templates to override it. #}<metaproperty="og:description"content="{%blockog-description%}{{meta_description}}{%endblock%}"/><metaname="twitter:title"content="{%blocktwitter-title%}{{meta_title}}{%endblock%}"/></head>

从扩展模板获取配置:

# base.html

{%loadcapture_tags%}

# read once
{%captureashome_urlsilent%}{%blockhome_url%}{%url'app:index'%}{%endblock%}{%endcapture%}

# reuse twice.
<ahref="{{home_url}}"class="btn page-top">Back to home</a><ahref="{{home_url}}"class="btn page-bottom">Back to home</a>

# child.html
{%extends"base.html"%}{%blockhome_url%}{%url'user:profile'%}{%endblock%}

注意

当一个值只使用一次时,不需要这个包。 在这种情况下,只需将{% block .. %}放在替换内容的正确位置。 所有常见的django模板标记都支持as variable语法, 例如{% url 'app:index' as home_url %}{% trans "Foo" as foo_label %}

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

推荐PyPI第三方库


热门话题
java WebClient请求级别超时抛出名为default onErrorDropped的运算符   java JAXB外部绑定文件错误   Freemarker中的java转义宏参数值   java正在同步来自不同对象{已编辑}的线程   java如何在另一个类上更新活动中的元素   java Hibernate连接查询   java可以使用Apache Crunch创建类似于图形的数据结构吗?   java在JLabel的开头加上3个点   java 安卓应用程序显示线程错误   java@RequestBody在Spring中总是空的   java Android异步任务永远不会结束   具有多个属性的java Jaxws枚举   java中的安卓 Stripe InvalidRequestException   多线程java。util。非多线程程序中的ConcurrentModificationException   Minecraft Java插件如何删除HashMap中存储的所有块   空Java字符串的大小   从AJP连接器请求检索Shibboleth属性的java   oracle11g将Java类文件加载到Oracle数据库