如何将输入字段从模型表单绑定到vue

时间:2020-09-29 16:47:00

标签: python django vue.js django-models django-forms

通常,您可以像这样捕获通过v-model手动创建的输入字段:

<input class="form-control mb-2" name="username" v-model="username" type="text" placeholder="username" autocomplete="off">
<input class="form-control" type="password" v-model="password" placeholder="password">

但是,我如何抓住v-model并将其放置在Django通过模型表单自动生成的字段上?

<form method="post">
    {% csrf_token %}
    {{ user_form }}
    <button class="btn btn-primary mt-3">Register</button>
</form>

1 个答案:

答案 0 :(得分:2)

您可以在forms.py

中添加任何属性
class UserForm(forms.ModelForm):

    class Meta:
        model = User
        fields = '__all__'

    def __init__(self, *args, **kwargs):
        super(UserForm, self).__init__(*args, **kwargs)
       
        for name, field in self.fields.items():
            # add v-model to each model field
            field.widget.attrs.update({'v-model': name})