Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django初学者问题_Python_Django_Apache - Fatal编程技术网

Python Django初学者问题

Python Django初学者问题,python,django,apache,Python,Django,Apache,我是一名网络开发新手,刚刚拼凑了我的第一个django web应用程序,并使用mod_wsgi与apache集成。 该应用程序有大约15个参数,可以查询多个SQL server数据库,结果可以下载为.xls文件;已在公司网络上部署了相同的 问题是,当我在一台机器上访问web应用程序并设置查询参数时,当我尝试从另一台机器(web客户端)打开web应用程序时,会在web应用程序中设置相同的参数。 就像只有一个全局对象被服务于所有web客户机一样 我使用django模板标记在应用程序的html页面中设

我是一名网络开发新手,刚刚拼凑了我的第一个django web应用程序,并使用mod_wsgi与apache集成。 该应用程序有大约15个参数,可以查询多个SQL server数据库,结果可以下载为.xls文件;已在公司网络上部署了相同的

问题是,当我在一台机器上访问web应用程序并设置查询参数时,当我尝试从另一台机器(web客户端)打开web应用程序时,会在web应用程序中设置相同的参数。 就像只有一个全局对象被服务于所有web客户机一样

我使用django模板标记在应用程序的html页面中设置值

不使用django项目中的任何模型作为am查询已构建的SQL server DB

my views.py中的查询函数如下所示

def query(self,request):
    """
    """
    print "\n\n\t inside QUERY PAGE:",request.method,"\n\n"

    self.SummaryOfResults_list = []
    if self.vmd_cursor != -1:
        self.vmd_cursor.close()

    if request.method == 'POST':
        QueryPage_post_dic = request.POST
        print "\n\nQueryPage_post_dic   :",QueryPage_post_dic

        self.err_list = []
        self.err_list = db_qry.validate_entry(QueryPage_post_dic)

        if len(self.err_list):
            return HttpResponseRedirect('/error/')
        else:
            channel_numbers,JPEG_Over_HTTP,Codec,format,rate_ctrl,transport,img_sz,BuildInfo_versions, self.numspinner_values_dic = db_qry.process_postdata(QueryPage_post_dic, self.numspinner_values_dic)


            return self.get_result(request,channel_numbers,JPEG_Over_HTTP,Codec,format,rate_ctrl,transport,img_sz,BuildInfo_versions)

    else:
        print "\nself.Cam_Selected_list inside qry  :",self.Cam_Selected_list
        if (len(self.Cam_Selected_list) != 1):
            return HttpResponseRedirect('/error/')

        self.tc_dic,self.chnl_dic,self.enbl_dic,self.frmt_dic,self.cdectyp_dic,self.imgsz_dic,self.rtctrl_dic,self.jpg_ovr_http_dic,self.trnsprt_dic,self.cdec_dic,self.typ_dic,self.resolution_dic, self.vmd_cursor = populate_tbls.Read_RefTbls(self.Cam_Selected_list[0])



        c = self.get_the_choices(self.Cam_Selected_list[0])
        c['camera_type']= self.Cam_Selected_list[0]

        for k,v in self.numspinner_values_dic.items():
            c[k] = v

        self.vmd_cursor.execute("SELECT DISTINCT [GD Build Info] FROM MAIN")
        res_versions = self.vmd_cursor.fetchall()
        version_list = []
        ver_list = ['',' ']
        for version in res_versions:
            tmp_ver = version[0].encode()
            if (tmp_ver not in ver_list):
                version_list.append(tmp_ver)
        c['build_info'] = version_list
        print "\n\n c dic   :",c
        c.update(csrf(request))
        return render_to_response('DBQuery.html',c)
传递给render_to_response的字典保存设置复选框和多选框(dojo)所需的值

谢谢

就像只有一个全局对象被服务于所有web客户机一样


你所说的可能正是正在发生的事情。除非您正在构建任何对象,在该示例中,
self
对于每个请求都是新的,否则它实际上会在客户端之间随机共享。

您可以将全局变量存储在正在使用的SQL DB中。这样,您可以在请求->响应周期中保留变量的值/状态

如果您需要更快的响应时间,请在诸如redis之类的内存数据存储中探索键->值对


为了补充AKX提到的内容,我建议您阅读HTTP请求->HTTP响应周期以及web应用程序的工作方式

您必须向我们展示一些代码。听起来您可能正在将搜索参数保存为对象,您是否将搜索设置为模型?您应该做的是创建适合现有数据库的模型,然后使用表单通过GET或POST发送请求参数。你能发一些代码吗?从
views.py
中选择合适的视图可能是最有帮助的,这似乎与Apache没有任何关系。你应该考虑编辑标题和标签。我在URL中创建对象。关于在何处需要创建对象以使每个客户端都有一个对象的想法。在视图函数中,根据请求创建对象,或者使用其他方法使其成为本地请求。(您可以使用Django中间件将其分配为
请求的属性