通常,当我使用Django的Form API显示模型表单时,我会通过form
将django.template.Context
对象传递给模板,并使用Django的模板语言渲染其字段:
<form role="form" method="post">
{% csrf_token %}
{{ form.non_field_errors }}
<div class="form-group">
<label for="id_content">Content</label>
{{ form.content }}
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
form.content
将呈现为
<textarea id="id_content" rows="10" cols="40" name="content" style="margin: 2px; width: 339px; height: 164px;"></textarea>
但现在我想将它与AngularJS
一起使用,即将输入字段绑定到ng-model
<textarea ng-model="content" id="id_content" rows="10" cols="40" name="content" style="margin: 2px; width: 339px; height: 164px;"></textarea>
无论如何要实现这个目标吗?
答案 0 :(得分:2)
一种方法是覆盖表单init方法并更新小部件属性:
class MyForm(forms.ModelForm):
# fields..
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
self.fields['content'].widget.attrs.update({'ng-model': 'content'})