私は、最初の django Web アプリをつなぎ合わせ、mod_wsgi を使用して Apache と統合したばかりの Web 開発の初心者です。アプリには、複数の SQL サーバー データベースにクエリを実行できる 15 個のパラメーターがあり、結果を .xls ファイルとしてダウンロードできます。会社のネットワークに同じものを展開しました。
問題は、あるマシンで Web アプリにアクセスしてクエリ パラメーターを設定すると、別のマシン (Web クライアント) から Web アプリを開こうとすると、同じパラメーターが Web アプリに設定されることです。すべての Web クライアントに提供されるグローバル オブジェクトが 1 つだけあるようです。
django テンプレート タグを使用して、アプリの html ページに値を設定しています。
すでに構築されているSQLサーバーDBを照会しているため、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) を設定する値を保持します。
ありがとう