我在Django
应用程序视图中询问有关变量处理的问题。
我有两个功能:
第一个允许我在display query result
的数组中GET filter parameter
(在我的情况下,用户写年份,Django根据今年返回所有对象。我们将调用{{1这个变量)。
第二个让我创建一个query_naissance
。我有很多变量,但我想在我的PDF中再花一次PDF
。
这是我的第一个功能:
query_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
添加到第二个函数中而不再写一个字段?
然后,我必须在我的HTML模板中将此变量称为query_naissance
。
谢谢
答案 0 :(得分:5)
为了在请求之间保留信息,您可以使用会话。 Django非常好session support:
# 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)
'django.contrib.sessions.middleware.SessionMiddleware'
中需要MIDDLEWARE_CLASSES
。