python - Django初学者问题

标签 python django apache

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

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

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

在查询已构建的 SQL Server 数据库时不使用 django 项目中的任何模型。

我的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)的值

谢谢

最佳答案

Its like there is just one global object which is being served to all the web client.

你所说的可能正是正在发生的事情。除非您正在构建示例代码中的 self 对于每个请求都重新创建的对象,否则它将在客户端之间几乎随机共享。

关于python - Django初学者问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11086956/

相关文章:

django - 不支持的 JSONField 查找或不允许加入该字段

python - Django: IOError [Errno 2] 使用 python 读取 JSON 文件路径时没有这样的文件或目录

python - 需要根据重复值更新数据框的列

python - 如何动态删除DAG?

python - 使用 pd.read_clipboard 时如何处理列名中有空格?

Django 管理员。限制多对多字段的选择

python - 如何在 Bokeh 中禁用 wheel_zoom?

apache - 如何增加在 Windows 7 下运行的 Apache 的堆栈大小?

php - 当最终用户访问同时被覆盖的 PHP 文件时会发生什么?

apache - 防止 centos 服务器上不需要的 url