VueJS组件模板中的Django表单

VueJS组件模板中的Django表单,django,vue.js,vue-apollo,graphene-django,Django,Vue.js,Vue Apollo,Graphene Django,我目前正在启动一个项目,在该项目中,我将graphql()用于后端,用于API,用于前端,并简化通过VueJS运行graphql查询的过程 问题是: 我已经能够在Vue组件中执行自定义表单,并运行相应的查询来获取/添加/删除数据。 但到目前为止,我还不能将Django表单集成到Vue组件中,我不知道如何实现。 我可以对定制表单感到满意,但我不想使用Django表单,因为所有表单的验证都很容易使用Django 任何帮助都将不胜感激 提前感谢, lbris。这是文章中的代码片段,我建议您阅读 您必

我目前正在启动一个项目,在该项目中,我将graphql()用于后端,用于API,用于前端,并简化通过VueJS运行graphql查询的过程

问题是: 我已经能够在Vue组件中执行自定义表单,并运行相应的查询来获取/添加/删除数据。 但到目前为止,我还不能将Django表单集成到Vue组件中,我不知道如何实现。 我可以对定制表单感到满意,但我不想使用Django表单,因为所有表单的验证都很容易使用Django

任何帮助都将不胜感激

提前感谢,


lbris。

这是文章中的代码片段,我建议您阅读

  • 您必须将视图实例附加到某些元素,例如开始(在示例中)
  • 设置分隔符,因为我们不需要与django模板{{}语法冲突
  • 在id=开始的div内部可以放置vue自定义表单

新Vue({
el:“开始”,
分隔符:['${','}'],
数据:{
第[…]条,
加载:false,
新文章:{…}
...
}
},
挂载:函数(){
},
方法:{
addArticle:function(){
这是。加载=真;
this.$http.post(“/api/article/”,this.newArticle)
。然后((响应)=>{
控制台日志(响应);
})
.catch((错误)=>{
这一点:加载=错误;
控制台日志(err);
}) 
},
...
}
});

文章标题
文章正文
保存更改

我找到了一个非常干净的解决方案来解决这个问题

有了它,您可以拥有如下功能:

views.py mytemplate.html
{%load widget\u tweaks%}
{%render_field form.field v-model=“myattr”%}
它将完美地工作

这是我已经做过的(使用VueJS定制表单)。我想要实现的是使用内置的Django表单(Forms.ModelForm),您可以这样创建:from Django导入表单from..models.group导入组类GroupForm(Forms.ModelForm):class Meta:model=group fields=['name','is_local'](很抱歉注释中出现缩进)。我也不知道这是不是个好主意。
def myview(request):
    form = MyForm()
    return render(request, 'mytemplate.html', {'form': form})
{% load widget_tweaks %}
<form v-on:submit-prevent="myaction()">
    {% render_field form.field v-model="myattr" %}
</form>