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 Spring引导jar文件可重用(本地maven存储库)   没有标题的java Webpush通知不会出现   本地类的优先级。java文件还是从java包中导入的类?   java Sparks enableHiveSupport   java通过AJAX调用我的WebService通常会导致服务器故障   java添加到链表末尾   java提供了对Spring数据Mongo存储库的限制   仅显示字符的程序显示“?”在爪哇   java Oracle 10.2.0.4.0和OJDBC1212。1.0.0.jar | |无法获取JDBC连接;嵌套的异常是ja│ │ ORA01882:未找到时区区域   使用Netflix Eureka的java JSONException   java我们如何为akka非类型处理器编写单元测试   java 安卓在触摸和移动时获取按钮文本   java将字符串转换为int数组bluej