我需要django的模板引擎使用的所有保留关键字的列表。大多数这些关键字可以在这里找到:django模板中所有保留关键字的列表?
https://docs.djangoproject.com/en/dev/ref/templates/builtins/
有没有得到只是一个关键字列表的编程方法?或者以列表格式包含所有这些文档的文档?
我需要django的模板引擎使用的所有保留关键字的列表。大多数这些关键字可以在这里找到:django模板中所有保留关键字的列表?
https://docs.djangoproject.com/en/dev/ref/templates/builtins/
有没有得到只是一个关键字列表的编程方法?或者以列表格式包含所有这些文档的文档?
django过滤器和标签在您提供的链接的文档中定义 - 并且自动从Stefano建议的代码defaultfilters.py
代码创建文档(使用sphinx我认为)。
如果有帮助,那么查看admindocs
(admindocs)应用程序会给您更准确的描述,因为它还会包含您定义的任何自定义标签和过滤器。
from django.contrib.admindocs.views import load_all_installed_template_libraries
from django import template
app_libs = template.libraries.items()
builtin_libs = [(None, lib) for lib in template.builtins]
for module_name, library in builtin_libs + app_libs:
for tag_name, tag_func in library.tags.items():
print 'Tag: ', tag_name
for filter_name, filter_func in library.filters.items():
print 'Filter: ', filter_name
你必须从django-admin.py shell
或python manage.py shell
你是什么意思的“名单”?
您可以通过从链接的文档页复制粘贴来提取它;
您可以从同一个页面JS提取出来,如:
document.querySelectorAll('a[href="#built-in-tag-reference"] ~ ul > li > a')
将让你所有的标记元素;你可以从那里挑选它。
或者你可以使用django的python代码;
默认模板标签&过滤器下:
/django/templates/defaultfilters.py
/django/templates/defaulttags.py
如果你能更好地解释你的目标是什么,你可能会得到更多的相关答案;无论如何,我认为从django python代码开始应该让你更接近你想要的结果。
使用{%load TAG%}标记加载其他过滤器和标记。看看加载是如何工作是很有趣的,因为如果你真的想要的话,你可以轻松地使用它来替代默认的filters/tags。
我的目标是获取关键字,因为我正在为[SHPAML]写一个语法colorer/highlighter(http: //shpaml.webfactional.com/)和django的[colorer](http://colorer.sourceforge.net/)eclipse插件。我需要django的保留关键字列表,这样我才能突出显示django模板标记{%%}中的保留字。 – zzz 2012-01-09 02:22:21
@EricGustavson在这种情况下,这些方法中的任何一种都可以工作并且同样快速......您只需要一个静态过滤器和标签列表,或者使用基本上从我的建议#3开始的danodonovan代码! – Stefano 2012-01-09 02:30:25
运行此这些都不是“保留关键字”,他们只是由Django的本身提供的标签和过滤器。 – 2012-01-09 00:25:41
我已经创建了dandonovan的(稍微修改)程序的输出的pastebin:http://pastebin.com/82CyecW2 – zzz 2012-01-09 03:23:50