Python 在视图函数之间传递Django变量
我在问一个关于我的Python 在视图函数之间传递Django变量,python,django,Python,Django,我在问一个关于我的Django应用程序视图中的变量处理的问题 我有两个功能: 第一个函数允许我使用GET filter parameter在数组中显示查询结果(在我的例子中,用户写入年份,Django根据今年返回所有对象。我们将调用query\u naissance此变量) 第二个让我可以创建一个PDF。我有很多变量,但我想在我的PDF中再花一次时间query\u-naissance 这是我的第一个功能: @login_required def Table_annuelle_BirthCer
Django
应用程序视图中的变量处理的问题
我有两个功能:
- 第一个函数允许我使用
在数组中GET filter parameter
(在我的例子中,用户写入年份,Django根据今年返回所有对象。我们将调用显示查询结果
此变量)query\u naissance
- 第二个让我可以创建一个
。我有很多变量,但我想在我的PDF中再花一次时间PDF
query\u-naissance
@login_required
def Table_annuelle_BirthCertificate(request) :
query_naissance = request.GET.get('q1')
...
return render(request, 'annuel.html', context)
我的第二个函数如下所示:
@login_required
def Table_Naissance_PDF(request) :
data = {"BirthCertificate" : BirthCertificate}
template = get_template('Table_raw.html')
html = template.render(Context(data))
filename = str('Table annuelle Naissance.pdf')
path = '/Users/valentinjungbluth/Desktop/Django/Individus/' + filename
file = open(path, "w+b")
pisaStatus = pisa.CreatePDF(html.encode('utf-8'), dest=file, encoding='utf-8')
file.close()
context = {
"BirthCertificate":BirthCertificate,
"query_naissance":query_naissance,
}
return render(request, 'Table.html', context) # Template page générée après PDF
那么,如何将用户在第一个函数中给出的query\u-issance
添加到第二个函数中,而无需再写入一次字段
然后,我必须在HTML模板中调用这个变量,如{{query_naissance}
谢谢为了跨请求保存信息,您需要使用会话。Django有非常好的:
在
中间件类中需要'django.contrib.sessions.middleware.SessionMiddleware'
,为了跨请求持久化信息,您将使用会话。Django有非常好的:
您的中间件类中需要'django.contrib.sessions.middleware.SessionMiddleware'
好的,我正在研究会话中的值存储。非常感谢!我只需要看看为什么我的变量没有显示在我的PDF上,但你的脚本似乎可以工作;)请添加答案以验证其有效性;)好的,我正在做一些关于价值存储的研究。非常感谢!我只需要看看为什么我的变量没有显示在我的PDF上,但你的脚本似乎可以工作;)请添加答案以验证其有效性;)
# view1: store value
request.session['query_naissance'] = query_naissance
# view2: retrieve vlaue
query_naissance = request.session['query_naissance']
# or more robust
query_naissance = request.session.get('query_naissance', None)