セクションの第三十五の好きな銘柄をキャンセル

インポートインポートpymysql 


URL_DICT = dictの()

「」 ' 
理由を追加するための正規ルートへ:ときに実際の開発、URLはしばしば多くのパラメータを持つ、例えばでしょう:/add/0000007.html、前記
000007(証券コード手段:缶対応するデータベースレコードを抽出するための)パラメータであり、
この時間は、通常ではない場合、我々はN、スペースの無駄、とのキーと値のペアの後、辞書、時間が@route Nを書く辞書に対応する機能を追加する必要があります
通常の場合、唯一の辞書のキーと値のペアをするときは、そのような同じ機能に対応/add/00007.html,add/000036.htmlとして完全な複数のURL、1つの@routeを記述する必要が
はるかに少なくなります
「」 ' 
DEFのルート(URL):
     DEFのset_func(FUNC):
        URL_DICT [URL] = FUNC
         DEF call_func():
            FUNC()
        リターンcall_func
     戻りset_func 

@route(R&LT ' /center.html' DEF center_p(SET):
     パス

@route(R&LT ' /add/(\d+)\.html ' DEF add_focus(RET):
    取得ティッカー 
    。stock_code ret.group =(1 #は、在庫か否かを判断しますコード 
    コネティカット= pymysql.connect(' localhostの'' ''' ' python_test ' 
    カーソル = conn.cursor()
    SQL = " SELECT * WHEREコードから情報=%のS "
    cursor.execute(SQL、(stock_code、))
    IF  ないcursor.fetchone():
        cursor.close()
        はconn.close()
        の戻り ' 株式を実行していない、我々はスタートアップ企業です、してください人気の男性' 
    #の裁判官証券コードはすでに心配されているかどうかを 
        SQL = ' SELECT * WHERE info_id =%Sからフォーカス' 
        cursor.execute(SQL、(stock_code、))
        のiF cursor.fetchone():
            cursor.close()
            はconn.close()
            の戻り " 懸念されている、関係繰り返さないでください
        #の追加の懸念の 
            SQLを= フォーカスINTO INSERT(info_id)情報WHERE%がS = IDコードからSELECT ' 
            cursor.execute(SQL、(stock_code、))
            conn.commitは、() 
            ()cursor.close 
            はconn.close()
    の戻り ' OK追加(%s)を.... '%のstock_codeの

@route(R&LT ' /add/(\d+)\.html ' DEF del_focus(RET):
    取得ティッカー 
    stock_code ret.group =(1 #は、ティッカー在庫か否かを判断する 
    CONN pymysql.connect =(' localhostの'' ''' ' Python_test ' 
    カーソル = conn.cursor()
    SQL = " SELECT *参加インナーフォーカスAS AS I F = ON i.id f.info_id WHERE I.CODE%S =から情報" 
    cursor.execute(SQL、(stock_code、 ))
    IF  ないcursor.fetchone():
        cursor.close()
        はconn.close()
        の戻りは、 株式を実行していない、我々は、スタートアップ企業、してください人気のある男性です
    #は、証券コードはすでに心配されているかどうかを判断する 
        SQL = ' WHEREフォーカスからinfo_id =%S SELECT * ' 
        cursor.execute(SQL、(stock_code、))
        IF  ありませんcursor.fetchone():
            cursor.close()
            はconn.close()
            リターン ' 之前未关注、无法取消' 
            添加关注 
        SQL = ' 削除フォーカス(info_id)には、情報コード=%sからIDを選択' 
        cursor.execute (SQL、(stock_code))
        conn.commit()
        cursor.close()
        はconn.close()
    リターン ' 追加(%S)OK .... '%のstock_codeの

@route(R ' index.htmlを' DEF index_p (RET):
     パス


DEF アプリケーション(ENV、start_responseを
    ):''」envが空の辞書、方法でstart_responseをが引用されているWebサーバー、関数の戻り体である「」「
    start_responseを(200 OKである [、(Content-Typeのテキスト/ HTML;のcharset = UTF-8。" )])
    FILE_NAME = ENV [ ' PATH INFO ' ] 

    トライ#1 戻りURL_DICT [ファイル名]()
        のための URL、FUNC URL_DICT.items():
             '' ' 
            {R&LT "/index.htmlが":インデックス、
            R&LT「/ center.html ":センター
            。R&LT"追加/ / \ + D \ HTML「:add_focus 
            } 
            ''」
            RET = re.match(URL、FILE_NAME)
             IF RET:
                 リターンFUNC(RET)
     以外例外としてRET:
         リターン ' 異常S%'%STR(RET)

 

おすすめ

転載: www.cnblogs.com/kogmaw/p/12602584.html