扩展到django的管理站点以添加ajax视图。
django-admin-ext的Python项目详细描述
Django管理站点的扩展。
当前包括:
-basecustomurladmin:hook向模型管理员提供其他url。
-baseajaxmodeladmin:hook具有一个表单,该表单根据特定的字段选择动态获取某些表单字段。
-baseajaxmodelform:form to帮助设置和保存基于所选其他字段的动态字段。
-在modeladmin中,子类baseajaxmodeladmin并确保表单指向动态表单。
-将有一个以/ajax/结尾的新url来处理
ajax请求。
-django的modeladmin将只显示字段集中声明的字段
,因此我们确保ajax字段在不显示时不显示有足够的数据可以显示,并且它们在显示时会显示。
因此,我们目前不考虑您在ModelAdmin中声明的任何字段集如果你知道解除这个限制的好方法,请提交修补程序。
BaseAjaxModelForm:
-将ajax_change_字段设置为其
更改触发ajax调用的表单字段的名称,或将ajax_change_字段设置为其更改触发ajax调用的字段名称列表
-在您的表单中设置dynamic_fields属性以返回字典
,字典的键是字段名,值是实例化字段。
@property
def dynamic_fields(self):
return{
“my_field”:CharField(initial=“hello world!”,label=“Greeting”),
}
表单将确保所有动态字段值
都保存到实例中。
-确保静态内容中有djadmin/ext/static/djadmin/ext/admin/ajax.js
中的文件。
-ajax调用获取新表单,并用更新的“.module”类替换所有元素表单。
注意:这将耗尽您声明的任何内联表单,因此如果您需要内联表单,我们很乐意接受一个补丁,使其成为可能。
测试:
要测试管理员,我们编写了selenium测试。测试将尝试
启动django的测试服务器,打开一个firefox浏览器窗口,
执行测试,并验证页面上的操作是否符合
的预期。
python setup.py test
当前包括:
-basecustomurladmin:hook向模型管理员提供其他url。
-baseajaxmodeladmin:hook具有一个表单,该表单根据特定的字段选择动态获取某些表单字段。
-baseajaxmodelform:form to帮助设置和保存基于所选其他字段的动态字段。
-在modeladmin中,子类baseajaxmodeladmin并确保表单指向动态表单。
-将有一个以/ajax/结尾的新url来处理
ajax请求。
-django的modeladmin将只显示字段集中声明的字段
,因此我们确保ajax字段在不显示时不显示有足够的数据可以显示,并且它们在显示时会显示。
因此,我们目前不考虑您在ModelAdmin中声明的任何字段集如果你知道解除这个限制的好方法,请提交修补程序。
BaseAjaxModelForm:
-将ajax_change_字段设置为其
更改触发ajax调用的表单字段的名称,或将ajax_change_字段设置为其更改触发ajax调用的字段名称列表
-在您的表单中设置dynamic_fields属性以返回字典
,字典的键是字段名,值是实例化字段。
@property
def dynamic_fields(self):
return{
“my_field”:CharField(initial=“hello world!”,label=“Greeting”),
}
表单将确保所有动态字段值
都保存到实例中。
-确保静态内容中有djadmin/ext/static/djadmin/ext/admin/ajax.js
中的文件。
-ajax调用获取新表单,并用更新的“.module”类替换所有元素表单。
注意:这将耗尽您声明的任何内联表单,因此如果您需要内联表单,我们很乐意接受一个补丁,使其成为可能。
测试:
要测试管理员,我们编写了selenium测试。测试将尝试
启动django的测试服务器,打开一个firefox浏览器窗口,
执行测试,并验证页面上的操作是否符合
的预期。
python setup.py test