Django:多个用户使用相同的视图和模板

时间:2015-11-19 17:11:10

标签: python django web-services django-views

我有一个发送XML请求的视图获取响应并在模板中呈现响应。但是现在我遇到一个问题,当两个用户向不同的Web服务发出请求时,模板中的数据会显示上一个请求的数据。

当多个用户向不同的网络服务或同一网络服务发出请求时,我不知道如何处理。

我想为每个用户动态生成一个模板,但我不知道如何处理这些网址。

我的观点:

def LeerXMLResponseView(request):
    archivo_request = request.GET.get('xml')
    ws_service = request.GET.get('servicio')
    archivo = '/DjangoProjects/xmlcbs/media/'+ archivo_request
    with open(archivo,"r") as file:
         request_data = file.read()

    target_url = "http://1.1.1.1:1111/services/" + ws_service + "?wsdl"
    headers = {'Content-type':'text/xml'}
    data_response = requests.post(target_url, data=request_data, headers=headers).text
    jdato = xmltodict.parse(data_response)
    data = json2html.convert(json = jdato)
    data_template = data

    return render_to_response('prueba.html', {'data':data_template})

此视图适用于一个用户,但当两个或多个用户发出请求时,数据将被覆盖。

知道如何使用具有不同请求和响应的相同视图处理多个用户吗?

1 个答案:

答案 0 :(得分:1)

将请求的参数存储在本地文件中是没有意义的。特别是当你完成它的方式时,只能有这个文件的一个版本;后续用户将覆盖前一个文件。

而是将必要的数据存储在session