Tutorial pengantar Python Flask ini menjelaskan apa itu Flask, instalasi Python, Virtualenv, contoh Flask Hello World dengan bagian contoh kode, debugging, dan pengujian:
Pengembangan situs web lebih merupakan seni daripada keterampilan. Dibutuhkan kesabaran dan ketekunan, serta ketekunan, keberanian, dan dedikasi untuk menciptakan apa yang diperlukan untuk menjadi sukses yang nyata. Saat ini, penting bagi pelajar untuk mendapatkan kecepatan sesegera mungkin.
Kami telah membuat tutorial Python Flask ini untuk para siswa agar mereka dapat dengan cepat mengimplementasikan pemrograman web yang sederhana maupun kompleks menggunakan Python 3.
Tutorial Python Flask ini lebih seperti tutorial Flask untuk pemula, yang akan mencakup instalasi Python, Virtualenv, dan paket-paket penting lainnya. Dalam rangkaian tutorial ini, kita juga akan menginstal Flask bersama dengan plugin Flask lainnya yang diperlukan. Kami juga menyertakan bagian tentang debugging kode, pengujian, dan integrasi berkelanjutan menggunakan Git Actions.
Daftar Tutorial Dalam Seri Labu Ini
Tutorial #1: Tutorial Python Flask - Pengenalan Flask Untuk Pemula
Tutorial #2: Template Labu, Formulir, Tampilan, Dan Pengalihan Dengan Contoh
Tutorial #3: Penanganan Basis Data Flask - Cara Menggunakan Flask Dengan Basis Data
Tutorial #4: Aplikasi Flask Dan Tata Letak Proyek Flask Dengan Blueprint & Bootstrap
Tutorial #5: Pola Desain Flask Dan Praktik Terbaik Untuk Aplikasi Web
Tutorial #6: Tutorial API Flask Dengan Contoh
Tutorial #7: Django Vs Flask Vs Node: Framework Mana yang Harus Dipilih
Tutorial #8: 31 Pertanyaan Wawancara Labu Python Populer Dengan Jawaban
Apa itu Flask
Flask adalah sebuah framework pengembangan web. Ini adalah kerangka kerja dengan server pengembangan bawaan dan debugger.
Framework Flask sendiri berbeda dengan arketipe lainnya karena memungkinkan pengembang web untuk menjadi fleksibel dan mengakomodasi perubahan yang sering dirilis dalam komunitas pengembangan perangkat lunak dengan nyaman.
Untuk Apa Labu Digunakan
Kami menggunakan framework Flask untuk mengembangkan Aplikasi Web dalam bahasa pemrograman Python. Framework ini terintegrasi dengan layanan pihak ketiga dan API untuk memberikan kekayaan dan makna pada aplikasi yang sedang dikembangkan. Konsep inti Flask sederhana, dan memiliki jejak yang kecil.
Mari kita mulai dengan tutorial Python Flask ini untuk memahami pengembangan web dengan bantuan repositori Flask GitHub. Namun, sebelum melanjutkan, silakan mengkloning proyek dari Github untuk menindaklanjuti contoh kode yang dibahas dengan mudah.
Prasyarat
Selain judul yang disebutkan di bagian ini, kami sarankan untuk membuat Akun Github. Mari lanjutkan dengan langkah-langkah yang disebutkan di bawah ini dalam prasyarat.
Langkah 1: Instal Python
Periksa apakah Anda sudah menginstal Python 3 atau belum. Jika belum, unduh Python 3 dari sini dan instal sesuai dengan Sistem Operasi Anda.
Langkah 2: Membuat Lingkungan Virtual Python
Buat lingkungan virtual dengan menggunakan perintah di bawah ini.
python3 -m venv venv
Gunakan perintah di bawah ini untuk mengaktifkan lingkungan virtual Python.
sumber venv/bin/aktifkan
Kami sudah memberikan contoh aktivasi dan penonaktifan lingkungan virtual di bawah ini.
Semua perintah selanjutnya dalam tutorial ini harus dijalankan dalam lingkungan virtual yang telah diaktifkan. Instal paket roda sehingga kita dapat membuat roda di dalam lingkungan virtual.
roda pemasangan pipa
Langkah 3: Unduh dan Insall Labu
Kita perlu melakukan langkah-langkah pengunduhan Flask dan menginstal Flask menggunakan langkah-langkah yang disebutkan di bawah ini.
Sekarang instal Flask.
pip pasang labu
Beberapa dari kita suka bekerja dengan perubahan kode sumber terbaru. Kita dapat menggunakan perintah yang diberikan di bawah ini untuk menginstal dengan perubahan terbaru pada sumber-sumber Flask.
Buatlah direktori sementara.
mkdir tmp
Sekarang instal Flask dari repositori Github. Anda harus tetap terhubung ke internet agar perintah di bawah ini dapat bekerja.
pip3 install -e [email protected]:pallets/flask.git#egg=flask
Lihatlah keluaran konsol untuk memeriksa keberhasilan instalasi. Sekarang periksa apakah kita dapat mengakses perintah-perintah Flask.
labu - bantuan
Anda mungkin melihat beberapa pengecualian tentang ketiadaan aplikasi Flask. Namun, abaikan saja karena kami tidak membuat aplikasi Flask. Aplikasi kami adalah sebuah contoh dari Flask, yang merupakan pembungkus dari kerangka kerja web Werkzeug dan mesin templating Jinja.
Werkzeug
Werkzeug adalah sebuah toolkit WSGI. WSGI hanyalah sebuah konvensi pemanggilan untuk server web untuk meneruskan permintaan web ke aplikasi web yang ditulis dalam bahasa pemrograman Python.
Jinja
Templating adalah keahlian yang sangat penting bagi para pengembang web. Jinja adalah mesin templating yang memiliki fitur lengkap dan populer untuk Python. Ini adalah bahasa yang cukup ekspresif dan menyediakan seperangkat alat yang tangguh untuk penulis template.
Langkah 4: Instal MongoDB
Ikuti langkah-langkah yang disebutkan di bawah ini untuk menginstal MongoDB. Kami telah menguraikan langkah-langkah untuk menginstalnya di Linux berbasis Debian. Jika Anda menggunakan sistem operasi lain, maka akses tautan dan instal sesuai dengan sistem operasi yang dituju.
Instal gnupg untuk mengimpor kunci GPG publik MongoDB.
sudo apt-get instal gnupg
Sekarang impor kunci menggunakan perintah di bawah ini.
wget -qO - //www.mongodb.org/static/pgp/server-4.2.asc
Buat file daftar sumber sesuai distribusi Linux Anda. Kami telah menambahkan daftar sumber sesuai Debian.
echo "deb //repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main"
Jalankan perintah pembaruan
pembaruan sudo apt-get
Sekarang instal MongoDB, dengan menggunakan perintah di bawah ini.
sudo apt-get install -y mongodb-org
Setelah instalasi berhasil, jalankan MongoDB menggunakan perintah di bawah ini.
sudo systemctl start mongod
Periksa status MongoDB, menggunakan perintah di bawah ini.
sudo systemctl status mongod
Sekarang pastikan bahwa mongod secara otomatis dimulai pada saat sistem reboot dengan mengeluarkan perintah di bawah ini.
sudo systemctl aktifkan mongod
Sekarang periksa apakah Anda dapat terhubung ke server MongoDB menggunakan klien mongo.
mongo
Pada mongo shell, coba gunakan perintah help dan show dbs.
Buat Aplikasi Flask
Gunakan perintah di bawah ini untuk menginstal flask-appbuilder dan mongoengine.
pip install flask-appbuilder pip install mongoengine pip install flask_mongoengine
Buat aplikasi kerangka dengan nilai yang ditampilkan sebagai komentar dalam cuplikan kode di bawah ini.
flask fab create-app # Berikan nilai berikut dalam kuesioner baris perintah # Nama Aplikasi: flaskTutorialApp # EngineType: MongoEngine
Kita akan melihat output yang serupa dengan yang diberikan di bawah ini.
Nama aplikasi baru Anda: exampleApp Jenis mesin Anda, SQLAlchemy atau MongoEngine (SQLAlchemy, MongoEngine) [SQLAlchemy]: MongoEngine Mengunduh aplikasi kerangka, pengkodean yang bagus!
Lihatlah tata letak proyek dan aplikasi. Kami telah menunjukkan output dari perintah tree di bawah ini.
Mari kita lihat berkas konfigurasi Flask. Ini adalah konfigurasi default yang dihasilkan sebagai hasil dari perintah terakhir. Uncomment Cyborg tema, seperti yang ditunjukkan di bawah ini.
# Konfigurasi tema untuk Cybord=g # tema-tema ini berada di static/appbuilder/css/themes # Kita dapat membuat tema kita sendiri dan menggunakannya dengan mudah dengan menempatkannya di struktur dir yang sama untuk menimpa #APP_THEME = "bootstrap-theme.css" # bootstrap default #APP_THEME = "cerulean.css" # cerulean #APP_THEME = "amelia.css" # tema amelia #APP_THEME = "cosmo.css" # tema kosmik APP_THEME = "cyborg.css" # cyborgtema #APP_THEME = "flatly.css" # tema flatly
Untuk menjalankan aplikasi kerangka, gunakan perintah yang diberikan di bawah ini pada terminal.
labu berjalan
Labu Hello World
Untuk membuat program pertama Anda di flaskTutorialApp, buka file views.py di bawah direktori aplikasi dan tambahkan kode berikut ini. Cari pernyataan impor yang diberikan di dalam file tersebut. Tambahkan pernyataan-pernyataan ini jika belum ada.
from flask_appbuilder import BaseView, expose from app import appbuilder class HelloWorld(BaseView): "" "Tampilan pertama tutorial ini "" "route_base = "/hello" @expose("/") def hello(self): return "Halo, Dunia! dari Bantuan Pengujian Perangkat Lunak" # di akhir berkas appbuilder.add_view_no_menu(HelloWorld())
Simpan berkas setelah menambahkan kode sumber di atas. Buka direktori root proyek dan gunakan perintah di bawah ini untuk menjalankan server pengembangan Flask.
labu berjalan
Sekarang arahkan ke //localhost:5000/hello/ untuk melihat output di browser.
Debugging
Saat ini, server pengembangan tidak berjalan dalam mode Debug. Tanpa mode debug, sulit untuk menemukan kesalahan dalam kode sumber Aplikasi Flask.
Mode Debug di Flask menghasilkan hasil sebagai berikut:
- Mode debug mengaktifkan pemuat ulang otomatis, yang berarti kita tidak perlu memulai ulang server pengembangan setelah kita membuat perubahan pada kode sumber aplikasi.
- Mode debug mengaktifkan debugger Python. Kita dapat memeriksa nilai variabel selama Exception.
- Mode debug memungkinkan debugging aplikasi Flask. Kita dapat memeriksa nilai dari berbagai variabel dalam sesi debug.
Hentikan server pengembangan jika sudah berjalan. Anda dapat menggunakan CTRL + C atau interupsi keyboard untuk melakukan hal yang sama.
Gunakan kode berikut untuk mengaktifkan mode debug dan menjalankan server pengembangan untuk sementara.
FLASK_ENV = menjalankan labu pengembangan
Cari konsol untuk PIN Debugger dan catatlah.
Sekarang mari kita ubah tampilan HelloWorld yang tertulis di atas dengan baris-baris potongan kode berikut ini. Perhatikan bahwa kita telah memperkenalkan pengecualian khusus.
@expose("/") def hello(self): raise Exception("Pengecualian khusus untuk mempelajari Mode DEBUG") return "Halo, Dunia! dari Bantuan Pengujian Perangkat Lunak"
Navigasikan ke //localhost:5000/hello/, dan Anda akan melihat bahwa aplikasi telah memunculkan pengecualian. Browser menampilkan jejak stack, seperti yang ditunjukkan di bawah ini.
![](/wp-content/uploads/guides/iae5sr2a76-3.png)
Selanjutnya, lihat konsol tempat server pengembangan berjalan. Anda akan menemukan bahwa kali ini, perubahan pada views.py terdeteksi secara otomatis, dan server debug dimulai ulang dengan sendirinya. Sekarang kita tidak perlu memulai ulang secara manual.
Konsol akan memiliki garis-garis, seperti yang ditunjukkan di bawah ini. Kita perlu mencatat PIN Debug untuk nanti.
* Perubahan terdeteksi di '/work/sth/flaskTutorialApp/app/views.py', memuat ulang 2020-06-02 14:59:49,354:INFO:werkzeug: * Perubahan terdeteksi di '/work/sth/flaskTutorialApp/app/views.py', memuat ulang * Memulai ulang dengan stat 2020-06-02 14:59:49,592:INFO:werkzeug: * Memulai ulang dengan stat * Debugger aktif! * PIN debugger: 150-849-897
Sekarang periksa jejak tumpukan di browser dan pergi ke baris terakhir. Klik di atasnya untuk memperluas tampilannya dan klik ikon CLI untuk membuka shell dalam mode interaktif.
![](/wp-content/uploads/guides/iae5sr2a76-4.png)
Setelah Anda membukanya, Anda akan melihat bahwa browser akan menampilkan permintaan untuk Debug PIN. Berikan Debug PIN dan klik OK.
![](/wp-content/uploads/guides/iae5sr2a76-5.png)
Setelah kita melanjutkan setelah memberikan PIN Debug, kita dapat mengakses shell interaktif.
Kita mengakses shell dari dalam browser dan dapat memeriksa nilai variabel untuk menemukan penyebab Exception dan menangani kesalahan dengan cara yang lebih baik. Silakan lihat salah satu contoh yang ditunjukkan pada gambar di bawah ini.
![](/wp-content/uploads/guides/iae5sr2a76-6.png)
Sekarang ubah kode di view.py, seperti yang ditunjukkan di bawah ini. Perhatikan bahwa kita telah mengomentari baris yang memunculkan Exception.
@expose("/") def hello(self): # raise Exception("Pengecualian khusus untuk mempelajari Mode DEBUG") return "Halo, Dunia! dari Bantuan Pengujian Perangkat Lunak"
Menguji Aplikasi Flask
Sekarang mari kita tulis pengujian pertama kita untuk aplikasi Flask yang sedang kita kembangkan. Pertama, instal PyTest. PyTest adalah kerangka kerja pengujian yang membantu kita menulis kode yang lebih baik.
Selain itu, hanya karena kita dapat menulis unit test saat mengembangkan aplikasi kita, maka kita dapat mengikuti pendekatan TDD. TDD adalah singkatan dari Test-Driven Development. Dalam tutorial selanjutnya dari seri ini, kita akan selalu menulis test terlebih dahulu dan mengembangkan view atau model kita.
Instal PyTest
pip install pytest
Sekarang buat direktori bernama tests di dalam direktori aplikasi dan di dalamnya buat sebuah file bernama test_hello.py. Mari tulis unit test pertama kita untuk menguji tampilan kita.
Salin cuplikan kode berikut dan tempelkan ke dalam test_hello.py.
#!/usr/bin/env python from app import appbuilder import pytest @pytest.fixture def client(): """ Sebuah fixture pytest untuk menguji klien """ appbuilder.app.config["TESTING"] = True with appbuilder.app.test_client() as client: yield client def test_hello(client): """ Metode pengujian untuk menguji tampilan halo """ resp = client.get("/hello", follow_redirects = True) assert 200 == resp.status_code
Gunakan perintah pytest di bawah ini untuk menjalankan tes. PyTest secara otomatis mengumpulkan Tes dan menampilkan hasilnya pada output standar.
![](/wp-content/uploads/guides/iae5sr2a76-7.png)
Membuat Alur Kerja GitHub
Kami menggunakan Git Actions untuk membuat alur kerja CI/CD untuk aplikasi sampel kami. Ikuti langkah-langkah yang disebutkan di bawah ini untuk proyek Anda.
Langkah 1: Navigasikan ke halaman repositori di GitHub. Klik Git Actions.
![](/wp-content/uploads/guides/iae5sr2a76-8.png)
Langkah 2: Gulir ke bawah pada halaman dan temukan templat alur kerja yang sudah ada untuk paket Python.
![](/wp-content/uploads/guides/iae5sr2a76-9.png)
Langkah 3: Siapkan alur kerja paket Python.
![](/wp-content/uploads/guides/iae5sr2a76-10.png)
Langkah 4: Setelah konfigurasi alur kerja python-package.yml terbuka, perbarui berdasarkan nilai tag tambahan yaml yang diberikan.
name: flaskTutorialApp jobs: build: runs-on: ubuntu-latest strategy: matrix: python-version: [3.7, 3.8] mongodb-version: [4.2] steps: - name: Start MongoDB uses: supercharge/[email protected] with: mongodb-version: ${{ matrix.mongodb-version }} # other values
Kami ingin menguji aplikasi Flask pada distribusi Linux Ubuntu terbaru. Selain OS, kami juga ingin menjalankan pengujian kami hanya dengan menggunakan Python 3.7 dan Python 3.8.
Langkah 5: Lakukan komit pada python-package.yml dengan nilai yang telah diperbarui.
![](/wp-content/uploads/guides/iae5sr2a76-11.png)
Langkah 6: Komit pada halaman sebelumnya membawa kita ke pekerjaan GitActions.
![](/wp-content/uploads/guides/iae5sr2a76-12.png)
Langkah 7: [Opsional]
Pada halaman Github Jobs untuk contoh aplikasi tutorial, kita dapat membuat lencana dan meletakkannya pada file README.md untuk menampilkan status build.
Sekarang, setiap kali perubahan dikomit ke cabang master, Alur Kerja Git, seperti yang ditulis di python-package.yml akan diikuti dan dijalankan di Git Actions.
Kesimpulan
Dalam tutorial ini, kita telah membahas semua konsep dasar mulai dari prasyarat hingga menyiapkan alur kerja CI/CD untuk aplikasi web yang dikembangkan menggunakan Flask - kerangka kerja pengembangan web berbasis Python.
Tutorial ini mencakup semua langkah yang diperlukan seperti menginstal Python, mengunduh dan menginstal Flask, bekerja dengan Flask-Appbuilder, menguji dengan PyTest, dll. untuk memulai pengembangan web menggunakan Python. Komunitas pengembangan web biasanya membandingkan Flask dengan kerangka kerja pengembangan web Python populer lainnya yang disebut Django.
Kami akan menjelaskan perbedaan-perbedaan ini dan juga akan membandingkan kerangka kerja ini dalam salah satu tutorial dalam seri ini.