gpt4 book ai didi

Python Django 不返回新页面也不重新加载

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:34 25 4
gpt4 key购买 nike

我有以下看法:

def addtolist(request):
var1 = request.session.get('session_pmids', False)
pmids = request.POST.get('pmids', '')
pmids = pmids.split(",")

if var1:
pmids = pmids + var1
request.session["session_pmids"] = pmids

if not var1:
request.session["session_pmids"] = pmids

return HttpResponse(None, request)

在模板中我有以下内容:

    <form id="go" action="/addtolist/" method="post" data_url>{% csrf_token %}
<input type="hidden" name="pmids" id="pmids" value="">
<button class = "btn btn-default" onclick="getChecked()">Get selected abstracts as reference</button>
</form>

按下按钮将通过 getChecked() 函数检索一些数据。这会将数据添加到输入框“pmids”。这些将被转换到 View 中,变量将被添加到 session 中。

如何让 Django 从 View 中返回任何内容?所以,没有新页面,没有重新加载。只有请求对象(保持 session )

最佳答案

您不需要返回请求对象来保留 session 数据。使用 Ajax

在 Django 中

from django.http import JsonResponse

def addtolist(request):
var1 = request.session.get('session_pmids', False)
pmids = request.POST.get('pmids', '')
pmids = pmids.split(",")

if var1:
pmids = pmids + var1
request.session["session_pmids"] = pmids

if not var1:
request.session["session_pmids"] = pmids

return JsonResponse({'status': 'ok')

JavaScript

$('form#go').submit(function(e){
e.preventDefault();
$.post('view-url', $(this).serialize());
});

链接:

关于Python Django 不返回新页面也不重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30802431/

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