python CGI

3313 ワード

フロントエンドはpython CGIを呼び出して値を伝えます(直接.pyファイルの名前を.cgiに変更できます).
//       
$.ajaxSettings.async = false;
//   cgi         
$.get("./GetName.cgi", "text=" + text + "&JobName=" + JobNam, function(strResult){
      // strResult,          
      console.log(strResult)
}).fail(function(){
      layer.msg('  ','    ,      !');
})

python CGIサンプル
#!/usr/bin/env python3
# ------------------------- encoding: utf-8 ---------------------------
#
# author:
# software:
# file: ***.cgi
# time: 2020/8/4 17:30
#
# ---------------------------------------------------------------------
import os
import cgi
import json
import logging

def GetName(JbNam):
try:
# print         strResult
print(JbNam)
except TypeError as o_err:
logging.error("%s[%d]: %s" %
(__file__, o_err.__traceback__.tb_lineno, o_err))
except Exception as o_err:
logging.error("%s[%d]: %s" %
(__file__, o_err.__traceback__.tb_lineno, o_err))
pass
#    ,       Python     cgi    ,   ,Python       ,        ,
#    Python          print()   
print("Content-type:text/html
") # FieldStorage , # , o_form . o_form = cgi.FieldStorage() # getvalue() , 'text' 'JobName' key, key JobName = str(o_form.getvalue('JobName')) GetName(JobName)

python接続redis
1.pipインストールredis
1.1デフォルトのインストール
pip install redis

1.2 python 2バージョンのインストール
python2 -m pip install redis

1.3 python 3バージョンのインストール
python3 -m pip install redis

2.python操作redis:
import redis
redis_link = redis.Redis(host = '127.0.0.1',port = 6379,db = 0)
redis_link.set('name','Delia')
Text = reids_link.get('name')
print (Text)

import redisタイムズエラー
可能な原因:自分で作成したredisが存在する.pyプログラム(削除)
python接続clickhouse
1.pipインストールclickhouse
1.1デフォルトのインストール
pip install clickhouse-driver

1.2 python 2バージョンのインストール
python2 -m pip install clickhouse-driver

1.3 python 3バージョンのインストール
python3 -m pip install clickhouse-driver

2.python操作clickhouse:
from clickhouse_driver import Client
#         , uesr,password
client = Client(host = '127.0.0.1',port = '9000',user = "user",database = "database", password = "pwd")
sql = 'select * from db_name.tb_name limit 0, 1000'
ans = client.execute(sql)
print(ans)

pythonプログラムを実行可能ファイルにパッケージ化
1.pyinstallerのインストール
1.1デフォルトのインストール
pip install pyinstaller

1.2 python 2バージョンのインストール
python2 -m pip install pyinstaller

1.3 python 3バージョンのインストール
python3 -m pip install pyinstaller

2.pyinstallerの実行(ディレクトリdistで実行可能ファイルが生成され、生成されたファイルに.cgi接尾辞が追加されます)
pyinstaller -F   /   

pythonプログラムが実行可能ファイルにパッケージ化された後、フロントエンドがCGIファイルを呼び出すとhttpエラー500の解決策
##  pyinstaller    3.5
pip install –upgrade pyinstaller==3.5
python2 -m pip install –upgrade pyinstaller==3.5
python3 -m pip install –upgrade pyinstaller==3.5