スパルタネットワーク開発総合クラス8日目ログ(4-1~7)


Flask


サーバ、クライアント、APIの接続


2つの項目:すべての人の書評、小鬼手帳

  • カリキュラム目標
  • Flaskフレームワークを使用してAPIを作成できます.
  • 「みんなの書評」APIを作成し、クライアントに接続します.
  • 「ガキ手帳」APIを作成し、クライアントに接続します.
  • Flask
  • を起動
    1)Flashの基礎知識:Flashサーバーを作成する時(常に)
    プロジェクトフォルダで、
    静的フォルダ(画像、cssファイルが暗い)
    ㄴtemplatesフォルダ(htmlファイルを非表示)
    ㄴapp.pyファイル
    このようにして3つ後に始まります
    2)HTMLファイルを読み込む
    from flask import Flask, render_template
    app = Flask(__name__)
    
    ## URL 별로 함수명이 같거나,
    ## route('/') 등의 주소가 같으면 안됩니다.
    
    @app.route('/')
    def home():
       return render_template('index.html')
    
    if __name__ == '__main__':
       app.run('0.0.0.0', port=5000, debug=True)
    flask内蔵関数render templateを使用します.これがフレームの威力!
    *再入力
  • GET、POST方式

  • GET→通常!データ照会要求時
    例)ムービーリストの表示
    →データ転送:URLの後ろに疑問符を付けてkey=valueに転送する
    →例:google.com?ホッキョクグマ

  • POST→通常!作成、更新、削除を要求します.
    例)会員加入、会員脱退、パスワード修正
    →データ転送:key:value形式で非表示のHTML bodyに転送
  • 3)GET、POST要求クライアントデータの受信方法
    (たとえば、クライアントがtitle giveキーの値としてサーバからデータをインポートするとします)
    GET要求APIコード
    @app.route('/test', methods=['GET'])
    def test_get():
       title_receive = request.args.get('title_give')
       print(title_receive)
       return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
    ;GET要求確認Ajaxコード
    $.ajax({
        type: "GET",
        url: "/test?title_give=봄날은간다",
        data: {},
        success: function(response){
           console.log(response)
        }
      })
    ©POST要求APIコード
    @app.route('/test', methods=['POST'])
    def test_post():
       title_receive = request.form['title_give']
       print(title_receive)
       return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
    POST要求確認Ajaxコード
    $.ajax({
        type: "POST",
        url: "/test",
        data: { title_give:'봄날은간다' },
        success: function(response){
           console.log(response)
        }
      })
  • 完了、
  • 構造がはっきりせず,頭がつかめない.
    構造を描けたら、処理手順を教えてくれればもっと良かったのに.
    もっと練習しなければならないようです.