我是django特别的菜鸟。我想要做的是对一个简单问题的变化:
转到mysite / number。从网页表单中获取一个数字。重新加载mysite / number并从同一表单中获取第二个值。这样做了n次。得到n的总数。
换句话说,总数+ =数后我的下一行是什么?
答案 0 :(得分:2)
你需要以某种方式存储状态。这可以通过django会话框架完成。
将数据存储在request.session['number'] = 0
中,并不断添加到用户浏览器会话和单页视图之外的数字。
您可以添加一个具有特定名称的新提交按钮,以确定何时显示总数与添加量(或指向新“总体”视图的链接 - 由您决定)
def myview(request):
if not 'number' in request.session:
request.session['number'] = 0
if request.POST.get('show_total'):
return http.HttpResponse(request.session['number'])
# form here...
if form.is_valid():
request.session['number'] += form.cleaned_data['number']
return render(...)
答案 1 :(得分:1)
您可以使用
redirect(to[, permanent=False], *args, **kwargs)
Doc:https://docs.djangoproject.com/en/dev/topics/http/shortcuts/#django.shortcuts.redirect
您可以阅读数字的值,然后再次将用户重定向到同一页面。
您可以使用以下内容:
def someview(request):
#Get your number
#Add to total using total+=number
return redirect('/your/desired/url')