Python Django不返回新页面,也不重新加载
我有以下看法:Python Django不返回新页面,也不重新加载,python,django,session,Python,Django,Session,我有以下看法: 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:
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>
{%csrf\u令牌%}
获取选定摘要作为参考
按下按钮将通过getChecked()函数检索一些数据。这将向输入框“pmid”添加数据。这些将被强制转换到视图中,变量将被添加到会话中
我怎么能让Django从视图中不返回任何内容?因此,没有新页面,没有重新加载。只有请求对象(保留会话)您不需要返回请求对象来保留会话数据。使用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());
});
链接:
- 您不需要返回请求对象来保存会话数据。使用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());
});
链接:
request.session[“session\u pmids”]=pmids
您的意思是这样的吗?因此您建议创建一个Ajaxable响应对象并返回该响应?如果知道我只想返回请求,该对象会是什么样子?(因此,request.session[“session\u pmids”]=pmids