gpt4 book ai didi

javascript - 如何在python中将数据从一个文件传递到另一个文件?

转载 作者:行者123 更新时间:2023-11-30 20:58:29 24 4
gpt4 key购买 nike

我的 html 代码是 (ser.html)

<div>
<a v-bind:href="'ser/'+post.name">
{{post.name}}</a>
</div>

我需要将 post.name 从此文件传递给其他 ie.(det.html)

我的views.py是

from django.shortcuts import render

import os
def ser(request):
return render(request,"ser.html",{});
def det(request):
return render(request,"det.html",{'name' :name});

我的urls.py是

from django.conf.urls import url

from . import views

urlpatterns = [
url(r'^abt', views.abt),
url(r'^$', views.index),
url(r'^ser',views.ser),
url(r'^det',views.det),
]

我的 det.html 有以下代码

<script>

mounted() {

var self = this;

$.ajax({
url: 'post/filter/',
data: {
category: {{name}},

},
type: "POST",
dataType: 'json',

success: function (e) {
if (e.status == 1) {
window.searchContent.vector = e.data;
console.log(e);
}
}
});
</script>

我需要将“名称”传递给此 det.html 类别以触发 ajax 请求。但是当我这样做时,我遇到了错误。这是我使用 python 和 vue js 的项目。谁能帮帮我?

错误是:

missing 1 required positional argument: 'name'

最佳答案

在您的 view.py 文件中,渲染器不知道从哪里获取 name 变量。这是修复它的一种方法:您可以将 name 参数作为 GET 参数从 ser.html 传递到后端:

<div>
<a v-bind:href="'searchnew/?name='+post.name">
{{post.name}}</a>
</div>

然后在您的 view.py 文件中,获取名称变量:

def det(request):
name = request.GET.get('name')
return render(request,"det.html",{'name' :name})

det.html 中它将可用。


如果您想通过 POST 请求执行此操作,请更改 ser.html 以运行 VueJS 函数,如下所示:

<div>
<a v-on:click="funcToPost">{{post.name}}</a>
</div>

在 VueJS 对象中实现 funcToPost 方法来执行 POST 调用,如下所示:

var app = new Vue({
// ... some code here
methods: {
funcToPost: function() {
// ... some code here
$.ajax({
// ... some code here
data: {
name: {{name}}
}
})
}
}
})

在 view.py 中将 request.GET.get('name') 更改为 request.POST.get('name')

希望这能解决您的问题。祝你好运。

关于javascript - 如何在python中将数据从一个文件传递到另一个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47386118/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com