动态更新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第三方库


热门话题
java 安卓 XMLPullParser错误   Java响应网格布局   Java中使用递归的不同方法   java变量可能尚未初始化(边加权图)   java如何将这样的文件插入MySQL数据库   java云端点:不允许实体类型的数组或集合   java(编译器或jvm)是否以不同方式处理类的静态最终成员?如果是,怎么做   java如何从lambda表达式返回新的非抽象映射?   java JDK 7支持的最大Spring版本是什么   我们如何从java类生成DTD   java在我的例子中BindingResult、FieldErrors或GlobalErrors是否可以为null?   java[LibGDX][GWT]读取文件外观时出错。HTML格式的json[序列化异常]   字典Java不可修改密钥集映射   java Admob在firebase sdk之后显示测试广告,但不显示真实广告