Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk membina fungsi API menggunakan Flask Python?
Python Flask ialah rangka kerja web ringan yang menyediakan API yang mudah digunakan untuk membuat aplikasi web. Dalam Flask, kita boleh menggunakan fungsi Python untuk menentukan laluan dan pengendali untuk aplikasi web kita.
Berikut ialah beberapa fungsi API Flask Python yang biasa:
Fungsi ini ialah Aplikasi Flask Teras program, digunakan untuk mencipta contoh Flask baharu.
from flask import Flask app = Flask(__name__)
Fungsi ini digunakan untuk menentukan kaedah penghalaan dan permintaan. Berbilang laluan boleh ditakrifkan menggunakan berbilang fungsi route()
.
@app.route('/') def hello_world(): return 'Hello, World!'
Fungsi ini boleh menukar objek Python kepada objek tindak balas dalam format 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)
Fungsi ini digunakan untuk memaparkan templat dan mengembalikan objek respons HTML. Enjin templat boleh digunakan untuk menjana HTML secara dinamik.
from flask import render_template @app.route('/profile/<username>') def profile(username): return render_template('profile.html', name=username)
Fungsi ini boleh mengubah hala permintaan ke URL lain.
from flask import redirect @app.route('/redirect') def redirect_to_home(): return redirect('/')
Fungsi ini digunakan untuk menjana URL dan boleh menggunakan nama fungsi paparan sebagai parameter.
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)}.'
Fungsi ini digunakan untuk mendaftarkan fungsi yang akan dilaksanakan sebelum setiap permintaan.
@app.before_request def before_request(): if 'user_id' not in session and request.endpoint not in ['login', 'static']: return redirect(url_for('login'))
Fungsi ini digunakan untuk mendaftarkan fungsi yang akan dilaksanakan selepas setiap permintaan.
@app.after_request def after_request(response): response.headers['X-Frame-Options'] = 'SAMEORIGIN' return response
Fungsi ini digunakan untuk menaikkan pengecualian dalam fungsi paparan dan mengembalikan respons ralat.
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())
Fungsi ini digunakan untuk menghantar fail sebagai respons Fail boleh dihantar sebagai aliran bait atau laluan fail.
from flask import send_file @app.route('/download') def download_file(): file_path = '/path/to/file' return send_file(file_path, as_attachment=True)
Objek ini mewakili permintaan yang dikeluarkan oleh klien, termasuk pengepala permintaan, badan permintaan dan maklumat lain . Anda boleh menggunakan objek request
untuk mendapatkan data yang dihantar oleh pelanggan.
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}.'
Objek ini boleh digunakan untuk menyimpan data sesi pengguna, seperti ID pengguna, dsb.
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.'
Dalam Flask, kuki dan sesi kedua-duanya digunakan untuk menjejak status Pengguna mekanisme.
Cookie
ialah sekeping kecil data teks Apabila pengguna melawat tapak web anda, pelayan boleh menyimpan beberapa data pada komputer pengguna dengan menetapkan cookie
. Apabila pengguna melawat tapak web sekali lagi, penyemak imbas menghantar cookie
data ke pelayan supaya pelayan boleh menggunakan data untuk mengenal pasti pengguna. Flask menggunakan Flask-Cookie untuk mengendalikan cookies
, yang boleh digunakan untuk menetapkan, mendapatkan dan memadam cookies
.
Session
ialah sejenis data keadaan yang disimpan di bahagian pelayan. Tidak seperti Cookie
, Session
data tidak akan disimpan pada komputer pengguna, tetapi di bahagian pelayan. Apabila pengguna melawat tapak web anda, pelayan mencipta Session ID
unik untuk pengguna tersebut dan menyimpan ID
dalam cookie
, yang kemudiannya digunakan oleh pelayan untuk mengenal pasti pengguna. Flask menggunakan Session ID
untuk mengendalikan Flask-Session
, yang membolehkan anda menetapkan, mendapatkan dan memadam Session
data. Session
lebih selamat kerana data disimpan di bahagian pelayan dan pengguna tidak boleh mengubah suai data secara langsung. Kelebihan Session
ialah ia boleh menyimpan sejumlah besar data dan boleh dikongsi antara halaman yang berbeza. Dalam penggunaan sebenar, pembangun boleh memilih untuk menggunakan Cookie
atau Cookie
mengikut keperluan. Session
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()Dalam contoh di atas, kami menggunakan fungsi
Flask untuk mencipta objek tindak balas, dan kemudian gunakan kaedah make_response
untuk menetapkan nama bernama set_cookie
dengan nilai value
. 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()Dalam contoh di atas, kami menggunakan objek
Flask untuk mendapatkan nilai request
bernama name
, dan kemudian mengembalikannya kepada pengguna. cookie
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()Dalam contoh di atas, kami menggunakan objek sesi Flask untuk menyediakan nama Sesi dengan nilai dapatkan kaedah untuk mendapatkan nilai Sesi, dan kemudian kembalikan kepada pengguna. Adalah penting untuk ambil perhatian bahawa untuk menggunakan
, Flask-Session
perlu disediakan dalam aplikasi. Kunci ini digunakan untuk menyulitkan SECRET_KEY
data untuk memastikan data tersebut tidak diusik. Session
Atas ialah kandungan terperinci Bagaimana untuk membina fungsi API menggunakan Flask Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!