Render dan Kirim Formulir
Tampilkan kolom dalam template dan tangani pengiriman.
Render dan Kirim Formulir adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 2 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.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
From Class to Page
A form class is useless until a user can see it. Now you will render those fields into HTML and accept the submission back. 🖋️
Pass the Form to the Template
Create the form in your view and hand it to render_template. The template gets a live object full of fields it can draw.
form = LoginForm()
return render_template('login.html', form=form)Open the Form Tag
In Jinja, start with an HTML form tag set to method post. That tells the browser to send field values in the request body.
<form method="post">
...
</form>Render the Hidden Tag
Call form.hidden_tag() first inside the form. It drops in the CSRF token your post will need to be accepted.
<form method="post">
{{ form.hidden_tag() }}
</form>Draw a Field
Each field renders itself when you call it. Use field.label for the text and the field itself for the input element.
{{ form.username.label }}
{{ form.username() }}Pass HTML Attributes
Calling a field accepts keyword arguments that become HTML attributes. Add a class or placeholder right from the template.
{{ form.username(class="input", placeholder="Your name") }}Render the Submit Button
The submit field draws the button. Calling form.submit() produces the input that posts the whole form.
{{ form.submit() }}Allow POST in the Route
By default a route only answers GET. List methods so the same view can serve the page and receive the post.
@app.route('/login', methods=['GET', 'POST'])
def login():
form = LoginForm()Read Submitted Data
After a post, each field exposes a .data attribute holding the typed value, already coerced to the right Python type.
username = form.username.data
password = form.password.dataAuto-Populate on Reload
Flask-WTF fills fields from the request automatically. If you re-render after a post, the user's input stays in place.
form = LoginForm() # picks up posted data on POSTOne Template, Both Verbs
A single view handles GET and POST: build the form, process it on post, and re-render the same page otherwise.
form = LoginForm()
if form.is_submitted():
pass # handle data
return render_template('login.html', form=form)Quick Check
What must you render inside the form to include the CSRF token?
Recap
You rendered fields with labels and attributes, added hidden_tag for CSRF, allowed POST, and read values from each field's .data. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Render dan Kirim Formulir” gratis?
Ya — teks lengkap “Render dan Kirim Formulir” 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 “Render dan Kirim Formulir”?
Tampilkan kolom dalam template dan tangani pengiriman. 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 2 dari 4.
Berapa lama pelajaran “Render dan Kirim Formulir” 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
- Tentukan Class FlaskForm
- Render dan Kirim Formulir
- validate_on_submit dan Token CSRF
- Validator Kustom dan Error Kolom