动态更新django中基于依赖字段的选择字段

django-dynamic-form-fields的Python项目详细描述


用法:

*`pip install django dynamic form fields`
*add`dynamic\u fields` to`installed\u apps`
*add to your form as a widget:

```
值:int):
choices=[]

item=model.objects.get(id=value)



})


return choices



class myform(forms.modelform):
class meta:
model=mymodel
fields=(“item”,“dependent\u item”)
widgets={
“dependent\u item”:dynamicchoiceswidget(
dependent\u field=”item,
model=item,
callback=get_item_choices,
no_value_disable=true,
include_empty_choice=true,
empty_choice_label=“请选择一个选项”,

}
````

*确保窗体媒体包含在视图的其他媒体中


要求:

*django 1.11+
*python 3.5+(使用3.6.2构建/测试)
*jquery(使用1.12.4构建/测试)



当依赖字段更改时,视图被注入到项目的urlpatterns中,urlpatterns是ajax回调的处理程序。当呈现
dynamicchoiceswidget模板时,它将各种
提供的值序列化为python虚线字符串发送到模板。
它使用标记中的html5数据属性将这些值传递给javascript,以便发送到视图,告诉它下一步要做什么。

“callback”被序列化为代码中方法的完整点路径,例如“app.form.my_form.get_choices”。当依赖字段的值
发生更改时,ajax会从上面调用具有相关信息
的视图,然后导入路径,获取从django的模型加载器提供的模型
类,然后使用类本身调用
方法,以及
依赖字段提供的值。回调方法的输出被序列化为json,返回给进行调用的javascript,它在选项上迭代并将选择框的选项重置为
提供的选项。


这些选项可以(理论上)链接到所需的任意多个字段。
它还应该(尽管未经测试)使用多个选择框。




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

推荐PyPI第三方库


热门话题
在IE10中重新加载另一个帧时,internet explorer Java小程序失败/消失   ThreadLocal变量的java性能   java系统。出来println不是打印输出   java从JAXB类获取元素属性   java组织。天啊。科尔巴。包裹。InvalidName:IDL:omg。org/CORBA/ORB/InvalidName:1.0   java有没有办法让非事务连接抛出异常?   java是否有任何方法可以使用JdbcTemplate和查询/条件Fluent API   javajpa级联类型。刷新不工作?   未考虑java Maven依赖关系管理   java MySQL MBR包含抛出MySQLExceptionError的语句   java验证整数并将其设为5位数   java发现了循环依赖的问题   java Hibernate left join fetch到使用@ManyToMany关联映射的softdeleted实体生成无效查询?   JavaH:commandButton多个操作:下载文件并呈现ajax表   Google Contacts API在Java、C#、Python或Ruby中是否有一个Hello World示例?