我们需要创建一个完整的网站与django和vue作为一个学校项目的一部分,然而,我们有麻烦整合vue到我们的django项目。
为了简单起见,我们想直接在一个django应用程序中的index.html文件中使用vue,该文件位于templates/app/index.html中,这要归功于vue cdn。
没有vue,页面内容由django显示,但是当我们尝试在这个文件中使用vue和cdn时,什么都没有显示,我们在chrome控制台中得到这个错误:
vue.global.js:1661 [Vue warn]:组件缺少模板或呈现函数。
下面是代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<div id="app">{{ message }}</div>
<script>
const { createApp } = Vue
createApp({
data() {
return {
message: 'Hello Vue!'
}
}
}).mount('#app')
</script>
</body>
</html>
当我们直接在chrome中运行html文件时(在django之外),一切正常,这意味着问题来自djangom。我们怀疑问题是django期望运行django模板代码而不是vuejs代码。
是否可以在django上以这种方式使用vue js,如果不可以,如何将vue与django集成?
1条答案
按热度按时间k3bvogb11#
Vue.js和Django模板语言默认使用相同的分隔符(
{{
和}}
)。您需要将其中一个更改为不同的分隔符,例如对于Vue.js: