cari
Rumahpembangunan bahagian belakangTutorial PythonBagaimana untuk membina fungsi API menggunakan Flask Python?

1. Gambaran Keseluruhan

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.

2. Penjelasan tentang fungsi biasa

Berikut ialah beberapa fungsi API Flask Python yang biasa:

1) Fungsi Flask()

Fungsi ini ialah Aplikasi Flask Teras program, digunakan untuk mencipta contoh Flask baharu.

from flask import Flask
app = Flask(__name__)

2) fungsi route()

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!'

3) fungsi jsonify()

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)

4) fungsi render_template()

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(&#39;/profile/<username>&#39;)
def profile(username):
    return render_template(&#39;profile.html&#39;, name=username)

5) fungsi redirect()

Fungsi ini boleh mengubah hala permintaan ke URL lain.

from flask import redirect
@app.route(&#39;/redirect&#39;)
def redirect_to_home():
    return redirect(&#39;/&#39;)

6) fungsi url_for()

Fungsi ini digunakan untuk menjana URL dan boleh menggunakan nama fungsi paparan sebagai parameter.

from flask import url_for
@app.route(&#39;/profile/<username>&#39;)
def profile(username):
    return f&#39;Hello, {username}! Your profile URL is {url_for("profile", username=username)}.&#39;

7) fungsi before_request()

Fungsi ini digunakan untuk mendaftarkan fungsi yang akan dilaksanakan sebelum setiap permintaan.

@app.before_request
def before_request():
    if &#39;user_id&#39; not in session and request.endpoint not in [&#39;login&#39;, &#39;static&#39;]:
        return redirect(url_for(&#39;login&#39;))

8) after_request() function

Fungsi ini digunakan untuk mendaftarkan fungsi yang akan dilaksanakan selepas setiap permintaan.

@app.after_request
def after_request(response):
    response.headers[&#39;X-Frame-Options&#39;] = &#39;SAMEORIGIN&#39;
    return response

9) abort() function

Fungsi ini digunakan untuk menaikkan pengecualian dalam fungsi paparan dan mengembalikan respons ralat.

from flask import abort
@app.route(&#39;/users/<int:user_id>&#39;)
def get_user(user_id):
    user = User.query.get(user_id)
    if user is None:
        abort(404)
    return jsonify(user.to_dict())

10) fungsi send_file()

Fungsi ini digunakan untuk menghantar fail sebagai respons Fail boleh dihantar sebagai aliran bait atau laluan fail.

from flask import send_file
@app.route(&#39;/download&#39;)
def download_file():
    file_path = &#39;/path/to/file&#39;
    return send_file(file_path, as_attachment=True)

3. Penjelasan tentang objek biasa

1) objek permintaan

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(&#39;/login&#39;, methods=[&#39;POST&#39;])
def login():
    username = request.form[&#39;username&#39;]
    password = request.form[&#39;password&#39;]
    return f&#39;Hello, {username}! Your password is {password}.&#39;

2) objek sesi

Objek ini boleh digunakan untuk menyimpan data sesi pengguna, seperti ID pengguna, dsb.

from flask import session
@app.route(&#39;/login&#39;, methods=[&#39;POST&#39;])
def login():
    username = request.form[&#39;username&#39;]
    password = request.form[&#39;password&#39;]
    if username == &#39;admin&#39; and password == &#39;password&#39;:
        session[&#39;user_id&#39;] = 1
        return redirect(&#39;/&#39;)
    else:
        return &#39;Invalid username or password.&#39;

4 Kuki dan sesi dalam Flask

1) Pengenalan dan perbezaan antara kuki dan sesi

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

Secara umumnya,

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

Berikut ialah contoh penggunaan Kuki dan Sesi dalam Kelalang:

2) Contoh penjelasan

1 Gunakan Kuki-Kelalang untuk menetapkan kuki
from flask import Flask, make_response
app = Flask(__name__)
@app.route(&#39;/&#39;)
def index():
    response = make_response(&#39;Hello, World!&#39;)
    response.set_cookie(&#39;name&#39;, &#39;value&#39;)
    return response
if __name__ == &#39;__main__&#39;:
    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

2. Gunakan Flask-Cookie untuk mendapatkan Cookie
from flask import Flask, request
app = Flask(__name__)
@app.route(&#39;/&#39;)
def index():
    name = request.cookies.get(&#39;name&#39;)
    return f&#39;Hello, {name}!&#39;
if __name__ == &#39;__main__&#39;:
    app.run()
Dalam contoh di atas, kami menggunakan objek

Flask untuk mendapatkan nilai request bernama name , dan kemudian mengembalikannya kepada pengguna. cookie

3. Gunakan Flask-Session untuk menetapkan dan mendapatkan Sesi
from flask import Flask, session
app = Flask(__name__)
app.config[&#39;SECRET_KEY&#39;] = &#39;your_secret_key&#39;
@app.route(&#39;/&#39;)
def index():
    session[&#39;name&#39;] = &#39;value&#39;
    name = session.get(&#39;name&#39;)
    return f&#39;Hello, {name}!&#39;
if __name__ == &#39;__main__&#39;:
    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!

Kenyataan
Artikel ini dikembalikan pada:亿速云. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Python vs C: Memahami perbezaan utamaPython vs C: Memahami perbezaan utamaApr 21, 2025 am 12:18 AM

Python dan C masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1) Python sesuai untuk pembangunan pesat dan pemprosesan data kerana sintaks ringkas dan menaip dinamik. 2) C sesuai untuk prestasi tinggi dan pengaturcaraan sistem kerana menaip statik dan pengurusan memori manual.

Python vs C: Bahasa mana yang harus dipilih untuk projek anda?Python vs C: Bahasa mana yang harus dipilih untuk projek anda?Apr 21, 2025 am 12:17 AM

Memilih Python atau C bergantung kepada keperluan projek: 1) Jika anda memerlukan pembangunan pesat, pemprosesan data dan reka bentuk prototaip, pilih Python; 2) Jika anda memerlukan prestasi tinggi, latensi rendah dan kawalan perkakasan yang rapat, pilih C.

Mencapai matlamat python anda: kekuatan 2 jam sehariMencapai matlamat python anda: kekuatan 2 jam sehariApr 20, 2025 am 12:21 AM

Dengan melabur 2 jam pembelajaran python setiap hari, anda dapat meningkatkan kemahiran pengaturcaraan anda dengan berkesan. 1. Ketahui Pengetahuan Baru: Baca dokumen atau tutorial menonton. 2. Amalan: Tulis kod dan latihan lengkap. 3. Kajian: Menyatukan kandungan yang telah anda pelajari. 4. Amalan Projek: Sapukan apa yang telah anda pelajari dalam projek sebenar. Pelan pembelajaran berstruktur seperti ini dapat membantu anda menguasai Python secara sistematik dan mencapai matlamat kerjaya.

Memaksimumkan 2 Jam: Strategi Pembelajaran Python BerkesanMemaksimumkan 2 Jam: Strategi Pembelajaran Python BerkesanApr 20, 2025 am 12:20 AM

Kaedah untuk belajar python dengan cekap dalam masa dua jam termasuk: 1. Semak pengetahuan asas dan pastikan anda sudah biasa dengan pemasangan Python dan sintaks asas; 2. Memahami konsep teras python, seperti pembolehubah, senarai, fungsi, dan lain -lain; 3. Menguasai penggunaan asas dan lanjutan dengan menggunakan contoh; 4. Belajar kesilapan biasa dan teknik debugging; 5. Memohon pengoptimuman prestasi dan amalan terbaik, seperti menggunakan komprehensif senarai dan mengikuti panduan gaya PEP8.

Memilih antara python dan c: bahasa yang sesuai untuk andaMemilih antara python dan c: bahasa yang sesuai untuk andaApr 20, 2025 am 12:20 AM

Python sesuai untuk pemula dan sains data, dan C sesuai untuk pengaturcaraan sistem dan pembangunan permainan. 1. Python adalah mudah dan mudah digunakan, sesuai untuk sains data dan pembangunan web. 2.C menyediakan prestasi dan kawalan yang tinggi, sesuai untuk pembangunan permainan dan pengaturcaraan sistem. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Python vs C: Analisis perbandingan bahasa pengaturcaraanPython vs C: Analisis perbandingan bahasa pengaturcaraanApr 20, 2025 am 12:14 AM

Python lebih sesuai untuk sains data dan perkembangan pesat, manakala C lebih sesuai untuk prestasi tinggi dan pengaturcaraan sistem. 1. Sintaks Python adalah ringkas dan mudah dipelajari, sesuai untuk pemprosesan data dan pengkomputeran saintifik. 2.C mempunyai sintaks kompleks tetapi prestasi yang sangat baik dan sering digunakan dalam pembangunan permainan dan pengaturcaraan sistem.

2 jam sehari: potensi pembelajaran python2 jam sehari: potensi pembelajaran pythonApr 20, 2025 am 12:14 AM

Adalah mungkin untuk melabur dua jam sehari untuk belajar Python. 1. Belajar Pengetahuan Baru: Ketahui konsep baru dalam satu jam, seperti senarai dan kamus. 2. Amalan dan Amalan: Gunakan satu jam untuk melakukan latihan pengaturcaraan, seperti menulis program kecil. Melalui perancangan dan ketekunan yang munasabah, anda boleh menguasai konsep teras Python dalam masa yang singkat.

Python vs C: Lengkung pembelajaran dan kemudahan penggunaanPython vs C: Lengkung pembelajaran dan kemudahan penggunaanApr 19, 2025 am 12:20 AM

Python lebih mudah dipelajari dan digunakan, manakala C lebih kuat tetapi kompleks. 1. Sintaks Python adalah ringkas dan sesuai untuk pemula. Penaipan dinamik dan pengurusan memori automatik menjadikannya mudah digunakan, tetapi boleh menyebabkan kesilapan runtime. 2.C menyediakan kawalan peringkat rendah dan ciri-ciri canggih, sesuai untuk aplikasi berprestasi tinggi, tetapi mempunyai ambang pembelajaran yang tinggi dan memerlukan memori manual dan pengurusan keselamatan jenis.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Persekitaran pembangunan bersepadu PHP yang berkuasa

MantisBT

MantisBT

Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),