django - 无法使用来自 django 的 vue.js
问题描述
我在 中介绍了vuejs
使用 webpack django
,但我不能使用模板中的vue
实例。django
查看 chrome devtool,转译的 js 加载正确,但显示{{message}}
.
在 chrome devtool 的控制台上输出以下消息。
TypeError: undefined is not an object (evaluating 'hasOwnProperty.call (it, key)')
ReferenceError: Can't find variable: Vue
这是我的代码。
main.js
import Vue from 'vue'
import App from './App.vue'
import vuetify from '@/plugins/vuetify' // path to vuetify export
window.Vue = require('vue');
Vue.config.productionTip = false
new Vue({
render: h => h(App),
vuetify,
}).$mount('#app')
html
{% load render_bundle from webpack_loader %}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Example</title>
</head>
<body>
{% verbatim %}
<div id="app">
{{ message }}
</div>
{% endverbatim %}
{% render_bundle 'main' %}
<script>
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
</script>
</body>
</html>
log(django)
django | [09/Jan/2020 11:22:58] "GET /vue/ HTTP/1.1" 200 374
django | [09/Jan/2020 11:22:58] "GET /static/webpack_bundles/main-ccb1054f18bba9ee992d.js HTTP/1.1" 304 0
urls.py
from django.urls import path
from .views import signupfunc, loginfunc, listfunc, logoutfunc, vuefunc
urlpatterns = [
path('signup/', signupfunc, name='signup'),
path('login/', loginfunc, name='login'),
path('list/', listfunc, name='list'),
path('logout/', logoutfunc, name='logout'),
path('vue/', vuefunc, name='vue'),
]
vies.py
<snip>
def vuefunc(request):
return render(request, 'vue.html')
解决方案
这可能是一个愚蠢的问题,但是您是main.js
从模板中导入文件吗?它看起来像这样:
<script src="{% static 'js/main.js' %}"></script>
另外,顺便说一句,我将 Vue 与 django 一起使用,并且总是在 Vue 代码中列出我自己的分隔符,因此我不必{% verbatim %}
在每个变量周围放置标签。它看起来像这样:
var app = new Vue({
el: '#app',
delimiters: ['${', '}'],
data: {
message: 'Hello Vue!'
}
})
你显然可以选择你想要的任何分隔符。
推荐阅读
- ios - 在 iOS 上添加 firebase 动态链接颤振包后,应用程序在启动时关闭
- c# - Enumerable Intersect 和 Any Expressions 不编译为 SQL
- c# - NLog - 修改异常信息
- c++ - 我什么时候需要新的 io_service?
- google-my-business-api - 数据延迟 - 更新营业时间
- flutter - 获得未处理的异常:NoSuchMethodError:在 null 上调用了方法“setVolume”。接收方:空
- c# - 有时上传的文件在 C# Angular 8 中为空
- python - 如何从熊猫的列中提取正则表达式匹配的引用列表
- sql - 查找用户在 SQL 查询中同时具有权限
- git - 如何在 GitHub 上发布新版本?