Python 如何从一个页面的多个实例中获取总值

Python 如何从一个页面的多个实例中获取总值,python,django,Python,Django,我是个笨蛋,尤其是在django。我想做的是一个简单问题的变体: 转到mysite/number。从网页表单中获取数字。重新加载mysite/number并从同一表单中获取第二个值。这样做n次。得到n的总数 换句话说,我的下一行在total+=number之后是什么 您可以使用 redirect(to[, permanent=False], *args, **kwargs) 文件: 您可以读取number的值,然后再次将用户重定向到同一页面 您可以使用以下内容: def someview(r

我是个笨蛋,尤其是在django。我想做的是一个简单问题的变体:

转到mysite/number。从网页表单中获取数字。重新加载mysite/number并从同一表单中获取第二个值。这样做n次。得到n的总数

换句话说,我的下一行在total+=number之后是什么

您可以使用

redirect(to[, permanent=False], *args, **kwargs) 
文件:

您可以读取number的值,然后再次将用户重定向到同一页面

您可以使用以下内容:

def someview(request):
    #Get your number
    #Add to total using total+=number
    return redirect('/your/desired/url')

您需要以某种方式存储状态。这可以通过django会话框架完成

将数据存储在
request.session['number']=0
中,并在用户浏览器会话和单个页面视图之外持续添加到该数字

您可以添加一个新的submit按钮,该按钮有一个特定的名称来确定何时显示合计与添加(或一个指向新“合计”视图的链接-由您决定)

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(...)