Iconify API实现和Django项目的工具
项目描述
这个可重用应用程序帮助将Iconify集成到Django项目中。Iconify是一个统一的图标框架,提供访问来自不同图标集的40,000+个图标。
Iconify替代了传统的图标字体,声称这些字体对于某些图标集来说会太大。相反,它提供了一个API,可以从其集合中添加SVG格式的图标。
django-iconify 简化了与Django的集成。为了提高性能,Iconify 使用服务器端API来请求图标(批量请求,应用转换等)。上游提供了由CDN提供服务的中央API以及用PHP或Node.js编写的自托管选项,这些都不适合Django项目。 django-iconify 将Iconify API实现为一个可重用的Django应用程序。
安装
要将 django-iconify 添加到项目中,首先将其作为依赖项添加到项目中,例如使用 poetry
$ poetry add django-iconify
然后,将其添加到您的 INSTALLED_APPS 设置中,以便以后可以使用其视图
INSTALLED_APPS = [ ... "dj_iconify.apps.DjIconifyConfig", ... ]
您需要通过某种方式使 JSON收藏集 可用。您可以手动下载它,或使用您喜欢的资产管理库。例如,您可以使用 django-yarnpkg 依赖 @iconify/json Yarn包
YARN_INSTALLED_APPS = [ "@iconify/json", ] NODE_MODULES_ROOT = os.path.join(BASE_DIR, "node_modules")
无论哪种方式,最后,您都必须在设置中配置收集集的路径
ICONIFY_JSON_ROOT = os.path.join(NODE_MODULES_ROOT, "@iconify", "json")
如果您不使用 django-yarnpkg,则手动构建路径或使用资产管理器提供的任何机制。
您可以使用两个设置来配置可用的图标收藏集
ICONIFY_COLLECTIONS_ALLOWED = ["foo", "bar"]
此列表控制哪些收藏集可以使用。如果设置为非空列表,则只允许列表中列出的收藏集。
ICONIFY_COLLECTIONS_DISALLOWED = ["foo", "bar"]
另一方面,此列表控制哪些收藏集不能使用。如果此列表包含值,而 COLLECTIONS_ALLOWED 没有设置,则允许所有列表中未列出的收藏集。
此允许/拒绝功能可用于仅因设计原则或法律原因应仅提供有限集合的情况。
最后,将URL包含在您的 urlpatterns 中
from django.urls import include, path urlpatterns = [ path("icons/", include("dj_iconify.urls")), ]
使用方法
Iconify SVG框架
要使用 Iconify SVG框架,从某处获取其JavaScript(例如,再次使用 django-yarnpkg,或直接从CDN,从您自己的静态文件或任何地方)。
django-iconify 提供一个视图,返回一个小的JavaScript片段,用于配置 Iconify SVG框架 以使用其API端点。在以下示例中,我们首先加载此配置片段,然后从CDN包含 Iconify SVG框架(不要在生产环境中这样做,因为数据保护很重要)
<script type="text/javascript" src="{% url 'config.js' %}"></script> <script type="text/javascript" src="https://code.iconify.design/1/1.0.6/iconify.min.js"></script>
直接加载SVG(“如何在CSS中使用Iconify”)
django-iconify 还实现了直接SVG API。目前,您必须使用Django的常规URL反向解析器构建SVG URL,或手动构建
<img src="{% url 'iconify_svg' 'mdi' 'account' %}?rotate=90deg %}" />
有关支持哪些查询参数的文档,请参阅 如何在CSS中使用Iconify 上的文档。
将来,将提供一个模板标记来简化此操作。
直接在模板中包含SVG
尚未实现
将来,将提供一个模板标记,可以直接在模板中渲染SVG图标,这在从外部资源检索不理想的情况下可能很有用,例如HTML电子邮件。
示例
源代码分发以及 Git存储库 包含一个完整的应用程序示例,该应用程序在 /icons/ 下提供API,在 /test.html 下提供测试页面。
它被简化为一个最小的工作示例,以方便读者。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
构建发行版
django_iconify-0.4.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 9c14614bf4e02ecd8b94dad11e11668250be8390a663ec88ce68b0c4b4165c92 |
|
MD5 | c190f3dc7d9e05779988dad7201c4174 |
|
BLAKE2b-256 | b933ec379f67cab37270e07f70f043524d163d2221221127430a49f821c18b47 |
django_iconify-0.4-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3e93b8d6361e7fb32b725593d04a7667309cff6fd732f2dd1376a2b2b55ef2d6 |
|
MD5 | 3528facd1df4163b86366677c1c2653a |
|
BLAKE2b-256 | 2111e41512b660881aa94ae5f2b08ec59870a1588504595051c46509e4a6a575 |