Flask Academy · Pelajaran

Lokal Konteks dan Keamanan Utas

Pelajari cara proksi tetap benar di berbagai request.

Pelajaran 3 dari 413 langkah

Lokal Konteks dan Keamanan Utas adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.

Pertanyaan Ajaib

Bagaimana satu objek global request tetap benar saat banyak pengunjung mengakses aplikasi Anda secara bersamaan? Jawabannya adalah lokal konteks.

Tampak seperti Global

Objek seperti request dan g tampak seperti global biasa yang Anda impor sekali. Namun, keduanya adalah proksi khusus, bukan variabel bersama biasa.

from flask import request

Proksi Menunjuk per Konteks

Sebuah proxy meneruskan setiap akses ke objek nyata untuk konteks saat ini. Setiap permintaan melihat datanya sendiri melalui impor yang sama.

Lokal Konteks

Flask menyebutnya context locals. Keduanya berperilaku seperti lokal utas, tetapi menggunakan konteks aktif sebagai acuan, sehingga permintaan bersamaan tidak pernah saling bertabrakan.

Keamanan Utas

Dua utas yang menangani dua permintaan masing-masing mendapatkan konteks terikatnya sendiri. Jadi, request pada satu utas tidak pernah menampilkan data utas lain.

Melampaui Utas

Flask modern menggunakan contextvars, sehingga isolasi tetap berlaku bahkan untuk greenlet dan tugas asinkron, bukan hanya utas sistem operasi.

Satu Impor, Banyak Nilai

Inilah alasan satu import di bagian atas berkas Anda aman. Proksi tersebut menemukan objek nyata yang berbeda untuk setiap permintaan.

Perhatikan Latar Belakang

Buat sebuah thread mentah dari tampilan dan thread tersebut tidak memiliki konteks. Akses ke request akan gagal kecuali Anda mendorong konteks sendiri.

Teruskan Nilai, Bukan Proksi

Berikan kepada pekerja latar belakang value sebenarnya yang dibutuhkannya, seperti id pengguna, bukan proksi permintaan yang saat itu sudah tidak ada.

uid = request.args.get("id")
start_job(uid)

Dapatkan Objek Nyata

Memerlukan objek dasar di balik proksi? Gunakan _get_current_object, tetapi gunakan hanya sesekali dan saat benar-benar diperlukan.

real = request._get_current_object()

Mengapa Terasa Mudah

Lokal konteks membuat Flask terasa sederhana: Anda mengimpor request sekali dan dapat mengandalkannya, sementara kerangka kerja diam-diam menjaga setiap permintaan tetap terisolasi.

Pemeriksaan Singkat

Mari kita pastikan cara proksi tetap aman.

Rangkuman

Global Flask sebenarnya adalah context-local proxies. Keduanya menemukan objek berdasarkan permintaan, menjaga utas dan tugas asinkron tetap terisolasi, sehingga satu impor tetap aman di mana saja. 🎉

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Lokal Konteks dan Keamanan Utas” gratis?

Ya — teks lengkap “Lokal Konteks dan Keamanan Utas” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Lokal Konteks dan Keamanan Utas”?

Pelajari cara proksi tetap benar di berbagai request. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Flask Academy?

Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Lokal Konteks dan Keamanan Utas” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?

Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Konteks Aplikasi vs Konteks Request
  2. current_app dan Objek g
  3. Lokal Konteks dan Keamanan Utas
  4. Dorong Konteks dalam Skrip dan Shell
← Kembali ke Flask Academy