我正在研究现有的Django项目,将其GUI升级到Angular Material。我在整个项目中使用了Django表单和模型表单,现在很难在模板中编写Angular Material,如自定义标记和小部件来替换每个表单。所以,我试图写一些代码,可以将我所有的默认Django表单字段转换为Angular Material标签。
我找到了两种方法:
编写新的渲染函数说as_md()
与自定义def _html_output()
相似,类似于as_ul()
或as_p()
继承Form / ModelForm类。这会将完整的表单字段转换为新的材料标记,但这种方式不太灵活(如果我想更改某些表单的布局)。
编写自定义小部件以根据我的要求呈现每个字段。 这将需要为每种字段类型编写自定义窗口小部件。
可以通过其他方式以更有效的方式实现此目的吗?任何指针都将受到高度赞赏。
答案 0 :(得分:0)
如果您需要双向数据绑定,则每个字段都需要ng-model
来保持绑定完整。编写自定义小部件将帮助您实现这一目标。
但是为了确保所有表单都使用这些自定义小部件,自定义渲染功能将非常有效。
如果您正在寻找一些不那么麻烦的事情,请看一下django-angular项目,它的目标是实现同样的目标。