我正在使用openpyxl
将查询集下载到.xlsx文件中,为此我需要使用TemplateView。我通过使用JQuery-Ajax调用TemplateView,我发送了一个我需要在查询集中用作参数的变量,但我不知道如何在TemplateView中使用该变量的值。
默认openpyxl
覆盖GET
方法,使用此方法:
def get(self, request, *args, **kwargs):
我试图通过此代码获取变量:
context = self.get_context_data()
valor=context["number"]
使用该代码我收到此错误:
500: KeyError at /the_url/
'numbers'
错误显示:
Request URL: http://127.0.0.1:8000/the_url/?number=34
Request information:
GET:
number = '34'
POST: No POST data
FILES: No FILES data
其中number是我通过Ajax发送的GET
变量的名称。
那么,如何在TemplateView中获取GET
变量值?
答案 0 :(得分:2)
您应该可以通过self.request.GET.get('number')
方法中的get_context_data
访问您的变量。
模板视图示例(Python3版本)
class MyTemplateView(TemplateView):
template_name = 'path/to/tempplate.html'
def get_context_data(self, **kwargs):
valor = self.request.GET.get('number')
return super().get_context_data(**kwargs)