Django中用于更智能地输出HTML的模板标记
django-html的Python项目详细描述
====
django_html
====
这个包代表了改进django
输出表单小部件方式的实验方法。目前,使用“django.forms”创建的小部件被
输出为xhtml(带有自动关闭的`/>;`标记),即使站点的其余部分
使用html。这个包通过引入三个新的模板
标记来解决这个问题:`{%doctype%}`、`{%field%}`和`{%slash%}`。
要安装,请将'django_html'目录放在python路径的某个位置,
然后将“django_html”添加到“settings.py”文件中的“installed_apps”中。
有关django开发人员的更多背景信息,请参见以下django开发人员线程:
http://groups.google.com/group/django developers/browse_thread/thread/5f3694b8a19fb9a1/
{{%doctype%}
=====输出相关的doctype,并将您选择的doctype存储在“context.\doctype”中。示例用法::
{%load html%}{%doctype“html4”%}
这将输出::
<;!doctype html public“-//w3c//dtd html 4.01//en”
“http://www.w3.org/tr/html4/strict.dtd”>;
它还会将上下文的doctype设置为“html4”。其他模板标记可以
然后在决定它们应该如何呈现时考虑这一点。
` django.forms`考虑当前
活动doctype的小部件。默认情况下,django输出xhtml表单小部件,但是如果您的站点使用html 4,这可能不合适。下面是如何输出带有stock django的
<;label for=“id_name”>;name:<;/label>;{{form.name}
这将始终输出为xhtml。下面是如何使用新的{%field%}
标记:
<;label for=“id_name”>;名称:<;/label>;{%field form.name%}
现在,当前的doctype(使用{%doctype%}标记设置)将用于
决定小部件是否应使用xhtml自结束标记。
field标记还允许您从模板中为表单字段指定额外的html属性
(对于添加额外类等有用不必修改python代码中的表单定义::
<;label for=“id_name”>;name:<;/label>;{%field form.name class="myclass" %}
使用html doctype,这将呈现为::
<;input type=“text”name=“name” id="id_name" class="myclass">
如果doctype是xhtml,则会得到::
<;input type=“text”name=“name” id="id_name" class="myclass" />
{%slash%}
==
包含此标记是为了完整性。带有自己模板(extending base.html)的可重用应用程序的作者可能希望确保他们的
应用程序使用当前doctype的正确标记。实际上,这意味着
为少量html元素输出一个自动关闭标记。
`{%slash%}`标记只为xhtml doctype输出字符串“/”,而对于html doctype则为空。以下是一些示例:
<;br{%slash%}>;
<;img src=“/site/logo.png”alt=“我的网站”{%slash%}>;
django_html
====
这个包代表了改进django
输出表单小部件方式的实验方法。目前,使用“django.forms”创建的小部件被
输出为xhtml(带有自动关闭的`/>;`标记),即使站点的其余部分
使用html。这个包通过引入三个新的模板
标记来解决这个问题:`{%doctype%}`、`{%field%}`和`{%slash%}`。
要安装,请将'django_html'目录放在python路径的某个位置,
然后将“django_html”添加到“settings.py”文件中的“installed_apps”中。
有关django开发人员的更多背景信息,请参见以下django开发人员线程:
http://groups.google.com/group/django developers/browse_thread/thread/5f3694b8a19fb9a1/
{{%doctype%}
=====输出相关的doctype,并将您选择的doctype存储在“context.\doctype”中。示例用法::
{%load html%}{%doctype“html4”%}
这将输出::
<;!doctype html public“-//w3c//dtd html 4.01//en”
“http://www.w3.org/tr/html4/strict.dtd”>;
它还会将上下文的doctype设置为“html4”。其他模板标记可以
然后在决定它们应该如何呈现时考虑这一点。
` django.forms`考虑当前
活动doctype的小部件。默认情况下,django输出xhtml表单小部件,但是如果您的站点使用html 4,这可能不合适。下面是如何输出带有stock django的
<;label for=“id_name”>;name:<;/label>;{{form.name}
这将始终输出为xhtml。下面是如何使用新的{%field%}
标记:
<;label for=“id_name”>;名称:<;/label>;{%field form.name%}
现在,当前的doctype(使用{%doctype%}标记设置)将用于
决定小部件是否应使用xhtml自结束标记。
field标记还允许您从模板中为表单字段指定额外的html属性
(对于添加额外类等有用不必修改python代码中的表单定义::
<;label for=“id_name”>;name:<;/label>;{%field form.name class="myclass" %}
使用html doctype,这将呈现为::
<;input type=“text”name=“name” id="id_name" class="myclass">
如果doctype是xhtml,则会得到::
<;input type=“text”name=“name” id="id_name" class="myclass" />
{%slash%}
==
包含此标记是为了完整性。带有自己模板(extending base.html)的可重用应用程序的作者可能希望确保他们的
应用程序使用当前doctype的正确标记。实际上,这意味着
为少量html元素输出一个自动关闭标记。
`{%slash%}`标记只为xhtml doctype输出字符串“/”,而对于html doctype则为空。以下是一些示例:
<;br{%slash%}>;
<;img src=“/site/logo.png”alt=“我的网站”{%slash%}>;