我有一个Django模板(html文件)。它包含一个下拉选择器,它有很多选项。在选择每个选项时,浏览器上会显示一个预定义的表单。每个这样的表单都有一个预定义的字段。
例如,在选择关于选项时,表格将为 -
Name -
Age -
选择教育选项时,表格将为 -
University -
CGPA -
现在实现此功能的最佳方法是什么?
格式1 - 在选择任何选项时,我对服务器进行Ajax调用并返回要显示的字段的json。
格式2 - 我在模板中对几个表单进行硬编码并使其可见性 - 根据所选的选项是真的。(我不相信)
格式3 - 我在这里寻找的任何新解决方案。
由于
答案 0 :(得分:1)
实现这一目标的一种方法是我几天前实施的方式:
将ajax调用发送到您需要的格式的服务器,然后以HTML格式将其发送回模板。
form = Yourform()
form = form.as_p()
return HttpResponse(form)
这将以HTML格式返回您的表单。现在您需要做的就是用这个新表单替换容器。 希望这有帮助!
答案 1 :(得分:0)
取决于谁将在以后维护它!
如果要查询后端的字段,那么无论谁想要向表单添加新字段,都必须访问后端代码并将其插入到那里。一般来说,不是每个人都可以访问它!那个人需要知道Django。此外,使用ajax,您仍然在发出HTTP请求,尽管在localhost上,与硬编码表单相比可能会有轻微的延迟
相反,您可以使用django模板引擎,例如模板继承和填充,以减少代码冗余并将表单保留在前端本身!这样,如果前端人员必须添加新内容,他可以用HTML做到这一点!
如果您在表单中有数千个字段太多而无法键入或维护,那么您可以发出ajax请求。或者保持前端运作良好!
希望这有帮助!
(无论是谁打算回答这个问题,也请提及原因,以便进行贬低)