一种将vuejs合并到django应用程序中的简单、固执己见的方法
pointofvue的Python项目详细描述
Vue点
一种将VueJS合并到Django应用程序中的简单、自以为是的方法
安装
pip install PointOfVue
将pointofvue
添加到Django安装的应用程序:
INSTALLED_APPS=[# other apps ...'pointofvue',]
基本用法
在您的视图中,导入pointofvue
,并将pointofvue.VueContext
实例发送到您的模板
importpointofvuedefview_handler(request):vue_ctx=pointofvue.VueContext()vue_ctx.set_data('var1','My value')returnrender(request,'template.html',{vue_ctx:vue_ctx,})
在模板中,以#app
元素编写vue代码,并使用${
和}
访问vue数据。然后加载pointofvue
模板并用VueContext
调用{% vue %}
标记来加载vuejs并创建一个应用程序。
<divid='app'> The value of 'var1' is <b>${ var1 }</b></div> {% load pointofvue %} {% vue vue_ctx %}
自定义javascript
很可能仅仅编写HTML Vue是无法逃脱的,您可能需要在自定义JavaScript中定义方法和其他JS本机实体
Note: pointofvue encourages you to not write inline JavaScript in your Django HTML templates. Write separate JS files and serve them via staticfiles instead
定义导出Vue数据的Vue入口点可能是这样的:
importMyCustomComponentfrom'./my-component.js';constcomponents={MyCustomComponent,};export{components,};
构建该js文件(如果使用vue cli服务,则以库为目标)。然后在视图中使用Python VueContext注册脚本:
vue_ctx.add_script('myscript')
现在您可以在模板中使用自定义组件:
<divid="app"><b>My Custom Component</b><MyCustomComponent/></div>