跳转到主要内容

一个用于在Django模板中捕获输出的微型库

项目描述

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

一个用于在Django模板中捕获输出的微型库。

这可以用于例如

  • 在网页中重复页面标题,例如用于标签和面包屑。</p></li> <li><p>重复社交媒体标签的内容。</p></li> <li><p>在多个地方重用缩略图输出。</p></li> <li><p>从扩展模板获取配置数据。</p></li> </ul> <section id="installation"> <h2>安装</h2> <p>从PyPI安装模块</p> <pre><code>pip<span class="w"> </span>install<span class="w"> </span>django-capture-tag</code></pre> <p>将包添加到INSTALLED_APPS</p> <pre><code><span class="n">INSTALLED_APPS</span> <span class="o">+=</span> <span class="p">(</span><span class="w"> </span> <span class="s1">'capture_tag'</span><span class="p">,</span><span class="w"> </span><span class="p">)</span></code></pre> <p>在模板中加载标签</p> <pre><code><span class="cp">{%</span> <span class="k">load</span> <span class="nv">capture_tags</span> <span class="cp">%}</span></code></pre> </section> <section id="syntax"> <h2>语法</h2> <p>以下选项可用</p> <pre><code><span class="cp">{%</span> <span class="k">capture</span> <span class="cp">%}</span>...<span class="cp">{%</span> <span class="k">endcapture</span> <span class="cp">%}</span> # output in <span class="cp">{{</span> <span class="nv">capture</span> <span class="cp">}}</span> <span class="cp">{%</span> <span class="k">capture</span> <span class="nv">silent</span> <span class="cp">%}</span>...<span class="cp">{%</span> <span class="k">endcapture</span> <span class="cp">%}</span> # output in <span class="cp">{{</span> <span class="nv">capture</span> <span class="cp">}}</span> only <span class="cp">{%</span> <span class="k">capture</span> <span class="k">as</span> <span class="nv">varname</span> <span class="cp">%}</span>...<span class="cp">{%</span> <span class="k">endcapture</span> <span class="cp">%}</span> # output in <span class="cp">{{</span> <span class="nv">varname</span> <span class="cp">}}</span> <span class="cp">{%</span> <span class="k">capture</span> <span class="k">as</span> <span class="nv">varname</span> <span class="nv">silent</span> <span class="cp">%}</span>...<span class="cp">{%</span> <span class="k">endcapture</span> <span class="cp">%}</span> # output in <span class="cp">{{</span> <span class="nv">varname</span> <span class="cp">}}</span> only</code></pre> </section> <section id="example-usage"> <h2>示例用法</h2> <p>捕获社交媒体标签</p> <pre><code><span class="cp">{%</span> <span class="k">load</span> <span class="nv">capture_tags</span> <span class="cp">%}</span> <span class="p"><</span><span class="nt">head</span><span class="p">></span> ... <span class="c">{# Allow templates to override the page title/description #}</span> <span class="p"><</span><span class="nt">meta</span> <span class="na">name</span><span class="o">=</span><s>"description"</s> <span class="na">content</span><span class="o">=</span><s>"</s><span class="cp">{%</span> <span class="k">capture</span> <span class="k">as</span> <span class="nv">meta_description</span> <span class="cp">%}{%</span> <span class="k">block</span> <span class="nv">meta-description</span> <span class="cp">%}{%</span> <span class="k">endblock</span> <span class="cp">%}{%</span> <span class="k">endcapture</span> <span class="cp">%}</span><s>"</s> <span class="p">/></span> <span class="p"><</span><span class="nt">title</span><span class="p">></span><span class="cp">{%</span> <span class="k">capture</span> <span class="k">as</span> <span class="nv">meta_title</span> <span class="cp">%}{%</span> <span class="k">block</span> <span class="nv">meta-title</span> <span class="cp">%}</span>Untitled<span class="cp">{%</span> <span class="k">endblock</span> <span class="cp">%}{%</span> <span class="k">endcapture</span> <span class="cp">%}</span><span class="p"></</span><span class="nt">title</span><span class="p">></span> <span class="c">{# display the same value as default, but allow templates to override it. #}</span> <span class="p"><</span><span class="nt">meta</span> <span class="na">property</span><span class="o">=</span><s>"og:description"</s> <span class="na">content</span><span class="o">=</span><s>"</s><span class="cp">{%</span> <span class="k">block</span> <span class="nv">og-description</span> <span class="cp">%}{{</span> <span class="nv">meta_description</span> <span class="cp">}}{%</span> <span class="k">endblock</span> <span class="cp">%}</span><s>"</s> <span class="p">/></span> <span class="p"><</span><span class="nt">meta</span> <span class="na">name</span><span class="o">=</span><s>"twitter:title"</s> <span class="na">content</span><span class="o">=</span><s>"</s><span class="cp">{%</span> <span class="k">block</span> <span class="nv">twitter-title</span> <span class="cp">%}{{</span> <span class="nv">meta_title</span> <span class="cp">}}{%</span> <span class="k">endblock</span> <span class="cp">%}</span><s>"</s> <span class="p">/></span> <span class="p"></</span><span class="nt">head</span><span class="p">></span></code></pre> <p>从扩展模板获取配置</p> <pre><code># base.html <span class="cp">{%</span> <span class="k">load</span> <span class="nv">capture_tags</span> <span class="cp">%}</span> # read once <span class="cp">{%</span> <span class="k">capture</span> <span class="k">as</span> <span class="nv">home_url</span> <span class="nv">silent</span> <span class="cp">%}{%</span> <span class="k">block</span> <span class="nv">home_url</span> <span class="cp">%}{%</span> <span class="k">url</span> <span class="s1">'app:index'</span> <span class="cp">%}{%</span> <span class="k">endblock</span> <span class="cp">%}{%</span> <span class="k">endcapture</span> <span class="cp">%}</span> # reuse twice. <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><s>"</s><span class="cp">{{</span> <span class="nv">home_url</span> <span class="cp">}}</span><s>"</s> <span class="na">class</span><span class="o">=</span><s>"btn page-top"</s><span class="p">></span>Back to home<span class="p"></</span><span class="nt">a</span><span class="p">></span> <span class="p"><</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><s>"</s><span class="cp">{{</span> <span class="nv">home_url</span> <span class="cp">}}</span><s>"</s> <span class="na">class</span><span class="o">=</span><s>"btn page-bottom"</s><span class="p">></span>Back to home<span class="p"></</span><span class="nt">a</span><span class="p">></span> # child.html <span class="cp">{%</span> <span class="k">extends</span> <span class="s2">"base.html"</span> <span class="cp">%}</span> <span class="cp">{%</span> <span class="k">block</span> <span class="nv">home_url</span> <span class="cp">%}{%</span> <span class="k">url</span> <span class="s1">'user:profile'</span> <span class="cp">%}{%</span> <span class="k">endblock</span> <span class="cp">%}</span></code></pre> <section id="notice"> <h3>注意</h3> <p>当值仅使用一次时,此包不是必需的。在这种情况下,只需将<span class="docutils literal">{% block .. %}</span>放在内容替换的正确位置。所有常见的Django模板标签都支持<span class="docutils literal">as变量</span>语法,例如<span class="docutils literal">{% url 'app:index' as home_url %}</span>或<span class="docutils literal">{% trans "Foo" as foo_label %}</span>。</p> </section> </section> </div> </div> <div id="data" data-project-tabs-target="content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="mobile-data-tab" tabindex="-1"> <h2 class="page-title">项目详情</h2> <div class="sidebar-section verified"> <h3 class="sidebar-section__title">验证详情 <i class="fa fa-circle-check check" title="于2016-04-20由PyPI验证"></i></h3> <small><i>这些详情已由PyPI <a href="https://docs.pypi.ac.cn/project_metadata/#verified-details">验证</a></i></small> <h6>维护者</h6> <span class="sidebar-section__maintainer"> <a href="/user/vdboor/" aria-label=""> <span class="sidebar-section__user-gravatar"> <img src="https://pypi-camo.freetls.fastly.net/9416fa716f15e5ea8586dd0fc111c0c0eb61dbff/68747470733a2f2f7365637572652e67726176617461722e636f6d2f6176617461722f62343062646232333465353664316137393266323063383936643730643462393f73697a653d3530" height="50" width="50" alt="来自gravatar.com的vdboor的头像" title="来自gravatar.com的vdboor的头像"> </span> <span class="sidebar-section__user-gravatar-text"> vdboor </span></a> </span> </div> <div class="sidebar-section unverified"> <h3 class="sidebar-section__title">未验证详情</h3> <small><i>这些详情尚未由PyPI验证</i></small> <h6>项目链接</h6> <ul class="vertical-tabs__list"> <li> <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed" href="https://github.com/edoburu/django-capture-tag" rel="nofollow"> <i class="fas fa-home" aria-hidden="true"></i>首页</a> </li> <li> <a class="vertical-tabs__tab vertical-tabs__tab--with-icon vertical-tabs__tab--condensed" href="https://github.com/edoburu/django-capture-tag/zipball/master" rel="nofollow"> <i class="fas fa-cloud-download-alt" aria-hidden="true"></i>下载</a> </li> </ul> <div class="sidebar-section unverified"> <h6>元数据</h6> <ul> <li> <span> <strong>许可协议:</strong> Apache软件许可协议 (Apache 2.0)</span> </li> <li> <span> <strong>作者:</strong> <a href="mailto:opensource@edoburu.nl">Diederik van der Boor</a></span> </li> </ul> </div> <div class="sidebar-section unverified"> <h6 class="sidebar-section__title">分类器</h6> <ul class="sidebar-section__classifiers"> <li> <strong>开发状态</strong> <ul> <li> <a href="/search/?c=Development+Status+%3A%3A+5+-+Production%2FStable">5 - 生产/稳定</a> </li> </ul> </li> <li> <strong>环境</strong> <ul> <li> <a href="/search/?c=Environment+%3A%3A+Web+Environment">网络环境</a> </li> </ul> </li> <li> <strong>框架</strong> <ul> <li> <a href="/search/?c=Framework+%3A%3A+Django">Django</a> </li> <li> <a href="/search/?c=Framework+%3A%3A+Django+%3A%3A+1.6">Django :: 1.6</a> </li> <li> <a href="/search/?c=Framework+%3A%3A+Django+%3A%3A+1.7">Django :: 1.7</a> </li> <li> <a href="/search/?c=Framework+%3A%3A+Django+%3A%3A+1.8">Django :: 1.8</a> </li> <li> <a href="/search/?c=Framework+%3A%3A+Django+%3A%3A+1.9">Django :: 1.9</a> </li> </ul> </li> <li> <strong>目标受众</strong> <ul> <li> <a href="/search/?c=Intended+Audience+%3A%3A+Developers">开发者</a> </li> </ul> </li> <li> <strong>许可协议</strong> <ul> <li> <a href="/search/?c=License+%3A%3A+OSI+Approved+%3A%3A+Apache+Software+License">OSI批准 :: Apache软件许可协议</a> </li> </ul> </li> <li> <strong>操作系统</strong> <ul> <li> <a href="/search/?c=Operating+System+%3A%3A+OS+Independent">与操作系统无关</a> </li> </ul> </li> <li> <strong>编程语言</strong> <ul> <li> <a href="/search/?c=Programming+Language+%3A%3A+Python">Python</a> </li> <li> <a href="/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+2.6">Python :: 2.6</a> </li> <li> <a href="/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+2.7">Python :: 2.7</a> </li> <li> <a href="/search/?c=Programming+Language+%3A%3A+Python+%3A%3A+3.3">Python :: 3.3</a> </li> </ul> </li> <li> <strong>主题</strong> <ul> <li> <a href="/search/?c=Topic+%3A%3A+Internet+%3A%3A+WWW%2FHTTP">互联网 :: WWW/HTTP</a> </li> <li> <a href="/search/?c=Topic+%3A%3A+Software+Development+%3A%3A+Libraries+%3A%3A+Python+Modules">软件开发 :: 库 :: Python模块</a> </li> </ul> </li> </ul> </div> </div> <br /> </div> <div id="history" data-project-tabs-target="content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="history-tab mobile-history-tab" tabindex="-1"> <h2 class="page-title split-layout"> <span>发布历史</span> <span class="reset-text margin-top"> <a href="/help/#project-release-notifications">发布通知</a> | <a href="/rss/project/django-capture-tag/releases.xml">RSS 源 <i class="fa fa-rss" aria-hidden="true"></i></a> </span></h2> <div class="release-timeline"> <div class="release release--latest release--current"> <div class="release__meta"> <span class="badge">本版本</span> </div> <div class="release__graphic"> <img class="release__node" alt="" src="https://pypi.ac.cn/static/images/blue-cube.572a5bfb.svg"> </div> <a class="card release__card" href="/project/django-capture-tag/1.0/"> <p class="release__version"> 1.0 </p> <p class="release__version-date"> <time datetime="2016-04-20T12:52:12+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false">2016年4月20日</time> </p> </a> </div> </div> </div> <div id="files" data-project-tabs-target="content" class="vertical-tabs__content" role="tabpanel" aria-labelledby="files-tab mobile-files-tab" tabindex="-1"> <h2 class="page-title">下载文件</h2> <p>下载适合您平台的文件。如果您不确定选择哪个,请了解有关 <a href="https://packaging.pythonlang.cn/tutorials/installing-packages/" title="外部链接" target="_blank" rel="noopener">安装包</a> 的更多信息。</p> <h3>源分发</h3> <div class="file"> <div class="file__graphic"> <i class="far fa-file" aria-hidden="true"></i> </div> <div class="card file__card"> <a href="https://files.pythonhosted.org/packages/ef/88/0f8125b5d48c498b2009e472842628a458648b167ba1bdbdf09eb1d5937c/django-capture-tag-1.0.tar.gz"> django-capture-tag-1.0.tar.gz </a> (8.4 kB <a href="#copy-hash-modal-bef8e61c-92fe-4248-ad2d-cbba11186367">查看散列</a>)<p class="file__meta">上传时间 <time datetime="2016-04-20T12:52:40+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false"> 2016年4月20日 </time> <code>源</code></p> </div> </div> <h3>构建分发</h3> <div class="file"> <div class="file__graphic"> <i class="far fa-file" aria-hidden="true"></i> </div> <div class="card file__card"> <a href="https://files.pythonhosted.org/packages/62/6f/c00e3e52de91debfb09c1d197da0d229143047d4f2d81f9f1a6272d2b8f8/django_capture_tag-1.0-py2.py3-none-any.whl"> django_capture_tag-1.0-py2.py3-none-any.whl </a> (6.7 kB <a href="#copy-hash-modal-cd1b6a35-fe92-409f-9ac9-d743e61f2d08">查看散列</a>)<p class="file__meta">上传时间 <time datetime="2016-04-20T12:52:33+0000" data-controller="localized-time" data-localized-time-relative="true" data-localized-time-show-time="false"> 2016年4月20日 </time> <code>Python 2</code> <code>Python 3</code></p> </div> </div> </div> <div id="copy-hash-modal-bef8e61c-92fe-4248-ad2d-cbba11186367" class="modal modal--wide"> <div class="modal__content" role="dialog"> <a href="#modal-close" title="Close" class="modal__close"> <i class="fa fa-times" aria-hidden="true"></i> <span class="sr-only">关闭</span></a> <div class="modal__body"> <h3 class="modal__title"> <a href="https://pip.pypa.org.cn/en/stable/topics/secure-installs/#hash-checking-mode" title="外部链接" target="_blank" rel="noopener"> django-capture-tag-1.0.tar.gz 的散列</a></h3> <table class="table table--hashes"> <caption class="sr-only">django-capture-tag-1.0.tar.gz 的散列</caption> <thead> <tr> <th scope="col">算法</th> <th scope="col">散列摘要</th> <th></th> </tr> </thead> <tbody> <tr data-controller="clipboard"> <th scope="row">SHA256</th> <td><code data-clipboard-target="source">9c8a531687aac2a705a16a96c33930fb8193c17b641b7c24cd97ff180053d539</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> <tr data-controller="clipboard"> <th scope="row">MD5</th> <td><code data-clipboard-target="source">65dca00427c4ed06f25cf5b879ed55ed</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> <tr data-controller="clipboard"> <th scope="row">BLAKE2b-256</th> <td><code data-clipboard-target="source">ef880f8125b5d48c498b2009e472842628a458648b167ba1bdbdf09eb1d5937c</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> </tbody> </table> </div> <div class="modal__footer"> <a href="#modal-close" class="button button--primary modal__action">关闭</a> </div> </div> </div><div id="copy-hash-modal-cd1b6a35-fe92-409f-9ac9-d743e61f2d08" class="modal modal--wide"> <div class="modal__content" role="dialog"> <a href="#modal-close" title="Close" class="modal__close"> <i class="fa fa-times" aria-hidden="true"></i> <span class="sr-only">关闭</span></a> <div class="modal__body"> <h3 class="modal__title"> <a href="https://pip.pypa.org.cn/en/stable/topics/secure-installs/#hash-checking-mode" title="外部链接" target="_blank" rel="noopener"> django_capture_tag-1.0-py2.py3-none-any.whl 的散列</a></h3> <table class="table table--hashes"> <caption class="sr-only">django_capture_tag-1.0-py2.py3-none-any.whl 的散列</caption> <thead> <tr> <th scope="col">算法</th> <th scope="col">散列摘要</th> <th></th> </tr> </thead> <tbody> <tr data-controller="clipboard"> <th scope="row">SHA256</th> <td><code data-clipboard-target="source">a996f64996830c00641b5b41503c62616f9613a478c84a303fc414e96bfb4891</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> <tr data-controller="clipboard"> <th scope="row">MD5</th> <td><code data-clipboard-target="source">9ff7dfc3c0b118c403e89172eaf5dc7c</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> <tr data-controller="clipboard"> <th scope="row">BLAKE2b-256</th> <td><code data-clipboard-target="source">626fc00e3e52de91debfb09c1d197da0d229143047d4f2d81f9f1a6272d2b8f8</code></td> <td class="table__align-right"> <button type="button" class="button button--small copy-tooltip copy-tooltip-w" data-action="clipboard#copy" data-clipboard-target="tooltip" data-clipboard-tooltip-value="Copy to clipboard">复制</button> </td> </tr> </tbody> </table> </div> <div class="modal__footer"> <a href="#modal-close" class="button button--primary modal__action">关闭</a> </div> </div> </div> </div> </div> </div> </div> </main> <footer class="footer"> <div class="footer__logo"> <img src="/static/images/white-cube.2351a86c.svg" alt="" class="-js-white-cube"> </div> <div class="footer__menus"> <div class="footer__menu"> <h2>帮助</h2> <nav aria-label="Help navigation"> <ul> <li><a href="https://packaging.pythonlang.cn/tutorials/installing-packages/" title="External link" target="_blank" rel="noopener">安装包</a></li> <li><a href="https://packaging.pythonlang.cn/tutorials/packaging-projects/" title="External link" target="_blank" rel="noopener">上传包</a></li> <li><a href="https://packaging.pythonlang.cn/" title="External link" target="_blank" rel="noopener">用户指南</a></li> <li><a href="https://pythonlang.cn/dev/peps/pep-0541/" title="External link" target="_blank" rel="noopener">项目名称保留</a></li> <li><a href="/help/">常见问题解答</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>关于 PyPI</h2> <nav aria-label="About PyPI navigation"> <ul> <li><a href="https://blog.pypi.ac.cn" title="External link" target="_blank" rel="noopener">PyPI 博客</a></li> <li><a href="https://dtdg.co/pypi" title="External link" target="_blank" rel="noopener">基础设施仪表板</a></li> <li><a href="/stats/">统计信息</a></li> <li><a href="/trademarks/">标志和商标</a></li> <li><a href="/sponsors/">我们的赞助商</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>为 PyPI 贡献</h2> <nav aria-label="How to contribute navigation"> <ul> <li><a href="/help/#feedback">错误和反馈</a></li> <li><a href="https://github.com/pypi/warehouse" title="External link" target="_blank" rel="noopener">在 GitHub 上贡献</a></li> <li><a href="https://hosted.weblate.org/projects/pypa/warehouse/" title="External link" target="_blank" rel="noopener">翻译 PyPI</a></li> <li><a href="/sponsors/">赞助 PyPI</a></li> <li><a href="https://github.com/pypi/warehouse/graphs/contributors" title="External link" target="_blank" rel="noopener">开发鸣谢</a></li> </ul> </nav> </div> <div class="footer__menu"> <h2>使用 PyPI</h2> <nav aria-label="Using PyPI navigation"> <ul> <li><a href="https://policies.python.org/python.org/code-of-conduct/" title="External link" target="_blank" rel="noopener">行为准则</a></li> <li><a href="/security/">报告安全问题</a></li> <li><a href="https://policies.python.org/pypi.org/Privacy-Notice/" title="External link" target="_blank" rel="noopener">隐私政策</a></li> <li><a href="https://policies.python.org/pypi.org/Terms-of-Use/" title="External link" target="_blank" rel="noopener">使用条款</a></li> <li><a href="https://policies.python.org/pypi.org/Acceptable-Use-Policy/" title="External link" target="_blank" rel="noopener">可接受使用政策</a></li> </ul> </nav> </div> </div> <hr class="footer__divider" /> <div class="footer__text"> <p>状态:<a href="https://status.python.org/" title="外部链接" target="_blank" rel="noopener"> <span data-statuspage-domain="https://2p66nmmycsj3.statuspage.io">所有系统正常运行</span></a></p> <p>由 Python 社区开发和维护,为 Python 社区服务。<br /> <a href="https://donate.pypi.org">今天捐赠!</a> </p> <p>"PyPI","Python Package Index" 和方块标志是 <a href="/trademarks/">商标</a>,归 <a href="https://pythonlang.cn/psf-landing" target="_blank" rel="noopener">Python 软件基金会</a> 所有。<br /> </p> <p>© 2024 <a href="https://pythonlang.cn/psf-landing/" title="外部链接" target="_blank" rel="noopener">Python 软件基金会</a><br /> <a href="/sitemap/">网站地图</a> </p> </div> <div class="centered hide-on-desktop"> <button type="button" class="button button--switch-to-desktop hidden" data-viewport-toggle-target="switchToDesktop" data-action="viewport-toggle#switchToDesktop">切换到桌面版</button> </div> </footer> <div class="language-switcher"> <form action="/locale/"> <ul> <li> <button class="language-switcher__selected" name="locale_id" value="en" type="submit">英语</button> </li> <li> <button name="locale_id" value="es" type="submit">西班牙语</button> </li> <li> <button name="locale_id" value="fr" type="submit">法语</button> </li> <li> <button name="locale_id" value="ja" type="submit">日语</button> </li> <li> <button name="locale_id" value="pt_BR" type="submit">葡萄牙语(巴西)</button> </li> <li> <button name="locale_id" value="uk" type="submit">乌克兰语</button> </li> <li> <button name="locale_id" value="el" type="submit">希腊语</button> </li> <li> <button name="locale_id" value="de" type="submit">德语</button> </li> <li> <button name="locale_id" value="zh_Hans" type="submit">中文(简体)</button> </li> <li> <button name="locale_id" value="zh_Hant" type="submit">中文(繁体)</button> </li> <li> <button name="locale_id" value="ru" type="submit">俄语</button> </li> <li> <button name="locale_id" value="he" type="submit">希伯来语</button> </li> <li> <button name="locale_id" value="eo" type="submit">世界语</button> </li> </ul> </form> </div> <div class="sponsors"> <p class="sponsors__title">支持者</p> <div class="sponsors__divider"></div> <a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://aws.amazon.com/"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/ed7074cadad1a06f56bc520ad9bd3e00d0704c5b/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f6177732d77686974652d6c6f676f2d7443615473387a432e706e67" alt="AWS" loading="lazy"><span class="sponsors__name">AWS</span><span class="sponsors__service">云计算和安全赞助商</span></a><a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.datadoghq.com/"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/8855f7c063a3bdb5b0ce8d91bfc50cf851cc5c51/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f64617461646f672d77686974652d6c6f676f2d6668644c4e666c6f2e706e67" alt="Datadog" loading="lazy"><span class="sponsors__name">Datadog</span><span class="sponsors__service">监控</span></a><a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.fastly.com/"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/df6fe8829cbff2d7f668d98571df1fd011f36192/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f666173746c792d77686974652d6c6f676f2d65684d3077735f6f2e706e67" alt="Fastly" loading="lazy"><span class="sponsors__name">Fastly</span><span class="sponsors__service">CDN</span></a><a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://careers.google.com/"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/420cc8cf360bac879e24c923b2f50ba7d1314fb0/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f676f6f676c652d77686974652d6c6f676f2d616734424e3774332e706e67" alt="Google" loading="lazy"><span class="sponsors__name">Google</span><span class="sponsors__service">下载分析</span></a><a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://pythonlang.cn/psf/sponsors/#microsoft"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/524d1ce72f7772294ca4c1fe05d21dec8fa3f8ea/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f6d6963726f736f66742d77686974652d6c6f676f2d5a443172685444462e706e67" alt="Microsoft" loading="lazy"><span class="sponsors__name">Microsoft</span><span class="sponsors__service">PSF赞助商</span></a><a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://www.pingdom.com/"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/d01053c02f3a626b73ffcb06b96367fdbbf9e230/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f70696e67646f6d2d77686974652d6c6f676f2d67355831547546362e706e67" alt="Pingdom" loading="lazy"><span class="sponsors__name">Pingdom</span><span class="sponsors__service">监控</span></a><a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://getsentry.com/for/python"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/67af7117035e2345bacb5a82e9aa8b5b3e70701d/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f73656e7472792d77686974652d6c6f676f2d4a2d6b64742d706e2e706e67" alt="Sentry" loading="lazy"><span class="sponsors__name">Sentry</span><span class="sponsors__service">错误日志</span></a><a class="sponsors__sponsor" target="_blank" rel="noopener" href="https://statuspage.io"><img class="sponsors__image" src="https://pypi-camo.freetls.fastly.net/b611884ff90435a0575dbab7d9b0d3e60f136466/68747470733a2f2f73746f726167652e676f6f676c65617069732e636f6d2f707970692d6173736574732f73706f6e736f726c6f676f732f737461747573706167652d77686974652d6c6f676f2d5467476c6a4a2d502e706e67" alt="StatusPage" loading="lazy"><span class="sponsors__name">StatusPage</span><span class="sponsors__service">状态页面</span></a></div> </body></html>