调整模板中的表单字段呈现,而不是在python级别的表单定义中。

django-widgets-improved的Python项目详细描述


#django widgets改进了

[![构建状态](https://travis-ci.org/simhnna/django-widgets-improved.svg?branch=master)(https://travis ci.org/simhnna/django小部件得到改进)


调整模板中的表单字段呈现,而不是在python级别的表单定义中。支持更改css类和html属性。

这应该足以让设计人员在不接触python代码的情况下自定义字段表示(使用
css和不引人注目的javascript)。



[django widget tweaks](https://github.com/jazzband/django-widget-tweaks)存储库。
它是一个替换品。只需取消安装django小部件调整并安装它即可。

projects
`settings.py`文件:

```
已安装的应用程序=[

‘小部件调整’,

```
```

一个"render_field"模板标记,用于使用类似于
html的语法自定义表单字段。
2。用于自定义表单域html属性和css的几个模板过滤器


"render_field"标记应该更易于使用,并且应该使表单域的自定义更易于设计者和前端开发人员使用。

"render_u field"标记,但它们使用更复杂、更不象html的语法。


此模板标记使用类似于普通HTML属性的语法呈现字段。

--更改输入类型(例如,更改为HTML5)-->;
{%render_field form.search_query type="search"%}

<;!--添加/更改多个属性-->;
{%render_field form.text rows="20"cols="20"title="你好,世界!"%}

<;!--附加到属性-->;
{%render_field form.title class+="css_class_1 css_class_2"%}

<;!--模板变量可以用作属性值-->;
{%render_field form.text placeholder=form.text.label%}
```
对于使用{%render_field%}`标记呈现的字段,可以使用
`widget_error_class`和'widget_required_class`模板变量设置错误类和必需字段类:
``
{%widget_error_class="my_error"widget_required_class="my_required"%}
{%render_field form.field1%}
{%render_field form.field2%}
{%render_field form.field3%}
{%endwith%}
```
您可以使用这些变量进行创作:例如,上下文处理器无法在由
`{%render戋field%}`呈现的所有字段上设置默认的css错误类。



\attr
为表单字段添加或替换任何单个html属性。


示例:
```
{%load widget戋u tweaks%}

<;!--更改输入类型(例如,改为HTML5)-->;
{form.search_query_attr:"type:search"}

<;!--添加/更改多个属性-->;
{form.text attr:"rows:20"attr:"cols:20"attr:"title:hello,world!"}

<;!--没有参数的属性-->;
{form.search_query_attr:"autofocus"}
````

按空白分割类以便同时添加几个类。


示例:
`````
{%load widget_tweaks%}

<;!--向字段元素添加2个额外的css类-->;
{{form.title add懔class:"css懔class懔1 css懔class懔2"}
````

_ data

设置html5数据属性(http://ejohn.org/blog/html-5-data-attributes/)。
对于不引人注目的javascript非常有用。这只是"attr"过滤器的快捷方式
,它在属性名前面加上"data-"字符串。


示例:
````
{%load widget\u tweaks%}

<;!--数据筛选器:"overtext"将添加到输入字段-->;
{form.title set_u data:"filters:overtext"}
`````

--向field元素中添加2个额外的css类-->;
{form.title append_attr:"类:css_class_1 css_class_2"}
```
"add_class"筛选器只是"append_attr"筛选器的快捷方式,它可以将值添加到"class"属性中。

"add_error_class"与"add_class"相同,但仅当验证失败时才添加css类对于
字段(field.errors不为空)。

--在字段error上添加"error border"css类-->;
{form.title add懔error懔class:"error border"}
````


这在处理
可访问性时非常有用:
```
{%load widget_tweaks%}

<;!--在字段错误上添加aria invalid="true"属性-->;
{form.title add_error attr:"aria invalid:true"}
````

```field誠` field誠type和widget type

``field type和``widget type是返回字段类名和字段小部件类名(小写)的模板筛选器。


小部件小部件{{field{{field{field{field{field{field{field{{field{{field{field{{field}{field}{field}}>;
{{{{{{{field}}
<;div>;
````
`>>输出:
>```
>>>
<;div class="field charfield-field charfield-field-charfield-field输入名">;
>>><;
<(一)有权使用;输入id="id_name"type="text"name="name"maxlength="100"/>;
<;/div>;
```
input foo="bar"type="text"name="simple"id="id_simple"/>;
````
这不是一个bug,它是一个能够创建具有可重写默认值的可重用模板的功能。


可重用字段模板示例:
````
{inc/field.html
{<;div>;{{field;attr:foo:foo:default'foo"}<;div>;
````
/>示例用法:
````
````
{{my_template.html}
{{%br/>{{%load widget加载widget的调整
<;form metmethod'post'action=''>;{%csrf'u token%}
{{{%inc inc/field.html"incincinc/field.html"和field=form.title%}

//{{%csrf'csrf'>{%包含"inc/field.html",field=form.description attr:"foo:non_default_foo"%}
<;/form>;
````
使用"最右边的筛选器获胜"规则,将无法覆盖主模板中的"foo:default_foo"。

实现一个功能或提出建议,
请随时与我联系,启动问题或发送请求。

*源代码:https://github.com/simhnna/django widgets improved/
*错误跟踪器:https://github.com/simhnna/django widgets improved/issues

\testing

然后,从存储库中的任何位置键入"tox`











<1.4.1(2015-06-29)
->



*修复了django widget twakes v1.4中的回归
(该字段不再深度复制)。




<1.4(2015-06-27)1.4(2015-06-27)1.4(2015-06-06-27)1.4(该字段不再深度复制)。







<第1.7节,1.8和1.9支持;
*setup.py切换到setuptools;
*测试改进;
*增加了对python 3.4的支持;
*不再支持python 2.5;
*不再支持Bitbucket存储库(开发被移到GitHub中)。

*新的"添加错误属性"模板过滤器;
*测试改进。

1.1.2(2012-06-06)

*对模板变量的支持被添加到"呈现字段"标签中;
*新的"字段"类型和"窗口小部件"类型的过滤器。


1.1.1(2012-03-22)

1.1.1(2012-03-22)


>*一些"呈现"字段标签的问题是固定的。


1.1(2012-03-22)


>




1.0(2012-03-22)


1.0(2012-2012-2012-03-22)

1.0(2012-1.0(2012-2012-2012-2012)1.0(2012-2012-2012-2012--02-06)

*过滤器返回空字符串而不是如果字段丢失,则引发异常;
*测试运行改进;
*python 3支持;
*删除了未记录的"行为"筛选器。



0.1(2011-01-12)


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

推荐PyPI第三方库


热门话题
java MongoOperations Upert/FindModify删除mongo中的所有字段   java括号中的二叉树,而!=空值无效   java com.*.*.**。安全CustomUserDetail无法强制转换为com。***。安全CustomUserDetail   java如何编写多线程算法来发现可用socket   java Spring Boot Solr:子文档的索引列表   java如何向maven shade插件添加外部jar文件   java zebra条形码扫描仪Android studio集成   java为什么一个地方的原始类型会导致其他地方的通用调用站点被视为原始类型?   java将swing控件拆分为相等的部分   java如何在jshell中为spring项目设置类路径   java关于如何从API级别19的时间选择器中删除此白边的提示?   存储二进制字符串所有可能序列的算法,Java   测试JUnitJava。lang.NullPointerException   java Google AppEngine数据库   JavaSpring如何向数据对象注入@Value?   在eclipse java项目中包含mavenant构建库   带有JSP/EL的java省略号(缩写文本)