我正在开发一个网页。我在这个网页上有一个登录表单。我将 Django 用于后端,将 VueJS 用于前端。要使用 Django 提交表单,Django 的要求是 CSRF Token。我目前可以使用{{ csrf_token }}
.
因为我使用的是 VueJS,所以我也使用 Vuetify 来设置前端的样式。CSRF 令牌对 VueJS 不可见,因为 VueJS 无法识别{{ csrf_token }}
,但 HTML 可以。
在互联网上搜索后,我发现了一些东西。我尝试使用 v-bind 将 CSRF 令牌从 HTML 提供给 VueJS,但不幸的是 v-bind 的值是未定义的。但是如果我转到我的源代码 (Ctrl+U),我可以看到 CSRF Toekn 确实有效,但 VueJS 无法识别它。
例子:
<div id="LoginApp">
<WJLogin
v-bind:csrf="8cl33zQ8pYXXEMVCoSsqIzaFgQkLh6WYXqsQMN4z9X4oGkSGN8Thz922jQ19aG4B"
v-bind:hello="world">
</WJLogin>
</div>
当我使用从 VueJS 到 VueJS 的 v-bind 时,它可以工作,但从 HTML 到 VueJS 不起作用
这是 login.html
<div id="LoginApp">
<WJLogin
:csrf="{{csrf_token}}"
:hello="world">
</WJLogin>
</div>
这是 WJLogin.vue
export default
{
props: {
csrf: String,
hello: {
type: String,
default: "defaultValue"
},
},
..............
............
我希望 VueJS 可以访问 CSRF Token 的价值。