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%}>;

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

推荐PyPI第三方库


热门话题
java实现的一个简单算法(计算概率)   更改应用程序背景动画的java首选项   java捕获图像并通过socket发送   基于双精度数组的对象的java排序Arraylist?   java似乎无法获得前面数字的正确总和   java卡住了Tomcat线程。日食乐观锁定   java是一个异步的Throwable类的printStackTrace()   java随机错误(可能是)Android支持库   java我应该在代码中自动创建DB表,还是在安装过程中使用preinit?   在被调用的方法/函数Java/Android中处理异常?   arraylist Java发送电子邮件非法分号?   while循环中的Java数组   java Arquillian和TransactionAttribute类型。需要新的   java“未找到合适的驱动程序”获取此错误   java高性能地将子类转换为真正的超类   java如何从另一个活动访问变量   安卓 Java Kotlin泛型将类getter作为参数传递到函数中   尝试访问数组的某个位置时需要java“]”