Python Flask は、Web アプリケーションを作成するための使いやすい API を提供する軽量の Web フレームワークです。 Flask では、Python 関数を使用して Web アプリケーションのルートとハンドラーを定義できます。
以下は、いくつかの一般的な Python Flask API 関数です:
この関数は、 Flask アプリケーション 新しい Flask インスタンスを作成するために使用されるプログラムのコア。
from flask import Flask app = Flask(__name__)
この関数は、ルーティングおよびリクエスト メソッドを指定するために使用されます。複数の route()
関数を使用して、複数のルートを定義できます。
@app.route('/') def hello_world(): return 'Hello, World!'
この関数は、Python オブジェクトを JSON 形式の応答オブジェクトに変換できます。
from flask import jsonify @app.route('/users') def get_users(): users = [ {'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35} ] return jsonify(users)
この関数は、テンプレートをレンダリングし、HTML 応答オブジェクトを返すために使用されます。テンプレート エンジンを使用して HTML を動的に生成できます。
from flask import render_template @app.route('/profile/<username>') def profile(username): return render_template('profile.html', name=username)
この関数は、リクエストを別の URL にリダイレクトできます。
from flask import redirect @app.route('/redirect') def redirect_to_home(): return redirect('/')
この関数は URL の生成に使用され、ビュー関数の名前をパラメーターとして使用できます。
from flask import url_for @app.route('/profile/<username>') def profile(username): return f'Hello, {username}! Your profile URL is {url_for("profile", username=username)}.'
この関数は、各リクエストの前に実行される関数を登録するために使用されます。
@app.before_request def before_request(): if 'user_id' not in session and request.endpoint not in ['login', 'static']: return redirect(url_for('login'))
この関数は、各リクエストの後に実行される関数を登録するために使用されます。
@app.after_request def after_request(response): response.headers['X-Frame-Options'] = 'SAMEORIGIN' return response
この関数は、ビュー関数で例外を発生させ、エラー応答を返すために使用されます。
from flask import abort @app.route('/users/<int:user_id>') def get_user(user_id): user = User.query.get(user_id) if user is None: abort(404) return jsonify(user.to_dict())
この関数は、ファイルを応答として送信するために使用され、ファイルはバイト ストリームまたはファイル パスとして送信できます。
from flask import send_file @app.route('/download') def download_file(): file_path = '/path/to/file' return send_file(file_path, as_attachment=True)
このオブジェクトは、リクエスト ヘッダー、リクエスト本文、その他の情報を含む、クライアントによって発行されたリクエストを表します。 request
オブジェクトを使用して、クライアントから送信されたデータを取得できます。
from flask import request @app.route('/login', methods=['POST']) def login(): username = request.form['username'] password = request.form['password'] return f'Hello, {username}! Your password is {password}.'
このオブジェクトは、ユーザー ID などのユーザー セッション データを保存するために使用できます。
from flask import session @app.route('/login', methods=['POST']) def login(): username = request.form['username'] password = request.form['password'] if username == 'admin' and password == 'password': session['user_id'] = 1 return redirect('/') else: return 'Invalid username or password.'
Flask では、Cookie とセッションはユーザー ステータスのメカニズムを追跡するために使用されます。
Cookie
は小さなテキスト データです。ユーザーが Web サイトにアクセスすると、サーバーは cookie
を設定することでユーザーのコンピュータにデータを保存できます。ユーザーが再度 Web サイトにアクセスすると、ブラウザーは cookie
データをサーバーに送信し、サーバーがそのデータを使用してユーザーを識別できるようにします。 Flask は Flask-Cookie を使用して cookies
を処理します。これは cookies
の設定、取得、削除に使用できます。
Session
はサーバー側に保存される一種の状態データであり、Cookie
とは異なり、Session
データはユーザーのコンピュータには保存されません。ですが、サーバー側に保存されます。ユーザーが Web サイトにアクセスすると、サーバーはユーザーに一意の セッション ID
を作成し、ID
を cookie
に保存します。その後、サーバーはこの セッションID
でユーザーを識別します。 Flask は、Flask-Session
を使用して Session
を処理します。これは、Session
データの設定、取得、削除に使用できます。
一般的に、データはサーバー側に保存され、ユーザーはデータを直接変更できないため、Session
の方が安全です。 Cookie
利点は、大量のデータを保存でき、異なるページ間で共有できることです。実際の使用では、開発者は必要に応じて Cookie
または Session
の使用を選択できます。
以下は Flask で Cookie とセッションを使用する例です:
from flask import Flask, make_response app = Flask(__name__) @app.route('/') def index(): response = make_response('Hello, World!') response.set_cookie('name', 'value') return response if __name__ == '__main__': app.run()
In 上の例では、Flask の make_response
関数を使用して応答オブジェクトを作成し、その後 set_cookie
メソッドを使用して # 名前付きの名前を value の値で設定します。 ### ##クッキー###。
2. Flask-Cookie を使用して Cookie を取得します
from flask import Flask, request app = Flask(__name__) @app.route('/') def index(): name = request.cookies.get('name') return f'Hello, {name}!' if __name__ == '__main__': app.run()
name という名前の Cookie を取得します。
cookie の値をユーザーに返します。
3. Flask-Session を使用してセッションを設定および取得する
from flask import Flask, session app = Flask(__name__) app.config['SECRET_KEY'] = 'your_secret_key' @app.route('/') def index(): session['name'] = 'value' name = session.get('name') return f'Hello, {name}!' if __name__ == '__main__': app.run()
を使用するには、アプリケーションに
SECRET_KEY を設定する必要があることに注意してください。このキーは、Session
データを暗号化し、データが改ざんされないようにするために使用されます。
以上がPython Flask を使用して API 関数を構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。