Dalam artikel sebelumnya dalam siri mini ini, kami menggunakan Flask untuk membina laman web mudah yang mengandungi halaman "rumah" dan "mengenai" menggunakan aliran kerja umum yang boleh kami gunakan untuk aplikasi web berasaskan flask lain. Dalam pelajaran ini, saya akan menunjukkan cara menambah halaman kenalan yang membolehkan pengguna menghantar mesej kepada anda.
Sambungan Flask
Flask tidak datang dengan banyak ciri dari rak, menjadikannya mudah untuk mengambil dan belajar. Tiada mapper objek-relasi untuk interaksi pangkalan data atau antara muka admin untuk menambah dan mengemas kini kandungan. Ia hanya menawarkan satu set fungsi yang kecil, dua daripadanya telah digunakan -render_template ()
. Pelanjutan Flask adalah pakej yang menambah fungsi khusus ke aplikasi anda. Sebagai contoh, Flask-SQLalChemy menambah sokongan pangkalan data ke aplikasi anda, sedangkan Flask-Login menambah sokongan login/logout. Anda boleh menemui senarai lengkap sambungan dalam pendaftaran lanjutan flask.
Untuk membuat halaman kenalan, kami akan menggunakan flask-wtf untuk mengendalikan dan mengesahkan data bentuk dan flask-mail untuk menghantar data borang kepada anda. Apa maksudnya? Lihat gambar rajah berikut:
Pengguna mengeluarkan permintaan untuk halaman web yang mengandungi borang.
Pengguna mengisi dalam borang. Bidang tidak mengesahkan, laman web yang mengandungi borang beban sekali lagi dengan mesej ralat yang berguna, mendorong pengguna untuk mencuba lagi. Dalam flask, kami akan menyiarkan borang ke fungsi di dalam
routes.py
. Fungsi ini dipanggil pengendali bentuk. Kami akan menjalankan beberapa pemeriksaan pengesahan, dan jika mana -mana input tidak lulus, kami akan menyegarkan halaman untuk memaparkan mesej yang menggambarkan ralat. Sebaik sahaja semua pemeriksaan pengesahan lulus, kami akan menggunakan data borang untuk langkah seterusnya: menghantar e -mel kepada anda, pemilik laman web. Sekarang di mana kita sebenarnya menentukan borang? Kami boleh menulis HTML menggunakan atribut tindakanke skrip python. Skrip Python akan mencerminkan borang untuk menangkap setiap medan borang dan mengesahkan data medan borang. Jika kita menggunakan strategi ini, bagaimanapun, kita pada dasarnya akan menentukan borang dua kali untuk bahagian depan dan sekali untuk back-end.
Ia akan menjadi baik untuk menentukan bentuk hanya sekali: dalam skrip Python. Inilah yang membolehkan kami lakukan. Kami akan menentukan borang hanya sekali dalam skrip Python, dan kemudian kami akan membiarkan Flask-WTF menjana HTML borang untuk kami. Titik semua ini adalah untuk memisahkan persembahan dari kandungan.
Cukup perbualan. Mari kod. Kami sudah mempunyai
routes.py, yang memetakan URL ke fungsi. Janganlah kita berantakan dengan kod yang tidak berkaitan. Sebaliknya, buat fail baru yang dipanggil
forms.py, dan letakkan di dalam folder
App/$ cd flaskapp<br>$ . bin/activate<br>. Apa yang kita buat? Pertama, kami mengimport beberapa kelas berguna dari flask-wtf contactForm
, yang mewarisi dari & lt; jenis input = "teks" & gt; nama & lt;/input & gt; Skrip. Di dunia yang sempurna, pelayan anda hanya akan memproses borang yang tergolong dalam aplikasi web anda. Dengan kata lain, pelayan anda hanya akan mengendalikan dan mengesahkan borang yang anda buat. Walau bagaimanapun, adalah mungkin untuk penyerang membuat borang di laman web mereka sendiri, mengisi dengan maklumat berniat jahat, dan serahkannya ke pelayan anda. Sekiranya pelayan anda menerima maklumat yang berniat jahat ini, segala macam perkara buruk boleh berlaku seterusnya. Salah satu cara untuk melakukan ini adalah untuk menyimpan token unik yang tersembunyi di dalam HTML /HUBUNGAN
, Fungsi Contact ()pip install -U Flask-WTF<br>, kami mula -mula membuat contoh baru borang hubungan kami dalam baris tiga dan hantar ke template web bernama
contact.html dalam baris empat. Kami akan membuat templat web ini tidak lama lagi. Rajah di atas menunjukkan bahawa jika permintaan GET dihantar ke pelayan, laman web yang mengandungi borang harus diambil dan dimuatkan dalam penyemak imbas. Jika pelayan menerima permintaan pos, fungsi harus menangkap data medan borang dan periksa sama ada ia sah. Dalam istilah Python, logik ini boleh dinyatakan dalam IF ... lain logik ke render_template () dalam artikel sebelumnya, jadi di sini kami mengimport satu lagi kelas flask yang bernama menentukan sama ada kaedah HTTP semasa adalah mendapatkan atau jawatan. Seterusnya ialah Fungsi Kenalan () (baris 9-13). Rentetan ini adalah pemegang tempat sementara, dan kami akan menggantikannya dengan kod sebenar dalam langkah terakhir artikel ini. Jika tidak, jika permintaan yang digunakan GET, kami mengembalikan templat web contact.html yang mengandungi borang. folder. app/templates/contact.html dipetakan ke hubungan fungsi () , di mana pembolehubah yang dinamakan ContactForm ke setiap medan borang untuk mengesahkan kehadirannya. Perhatikan bahawa pengesahan ini berada di dalam senarai python, yang bermaksud bahawa kami dapat dengan mudah menambah lebih banyak pengesahan ke senarai ini. berikut: yang melakukannya untuk pengesahan borang kami. Mesej ralat ini hanya boleh muncul apabila pengesahan gagal dan hilang apabila kesilapan telah ditetapkan. Flask menjadikan ini sangat mudah dengan menggunakan flash () fungsi pada permulaan skrip. Selepas borang hubungan pos ke pelayan, sebarang kegagalan pengesahan harus memuatkan semula borang dengan mesej ralat yang berguna. Jika tidak, data input boleh digunakan untuk pemprosesan masa depan. Sekali lagi, logik ini boleh dinyatakan dalam IF ... else logik ke permintaan jika.method == 'pos': blok. Borang mesej ralat yang diposting Fungsi untuk selepas & lt; form & gt; tag. cantik. main.css hantar untuk menguji sama ada bentuk pengesahan dan mesej ralat berfungsi. Kami telah berjaya menghantar mesej ralat ke borang hubungan kami jika pemeriksaan pengesahan gagal. contact.html untuk menerima dan memaparkan mesej ralat khusus ini. Sebelum ini, kami bergantung pada kesilapan fungsi atribut untuk setiap medan borang untuk menarik mesej ralat tertentu dan gelung ke atas mereka menggunakan mesej Jinja2 17). Anda mungkin melihat kumpulan menggunakan alamat e -mel kenalan seperti support@example.com . Jika anda memiliki domain anda sendiri dan boleh membuat alamat e -mel kenalan baru, teruskan dan letakkan alamat e -mel itu jika permintaan.method == 'pos': blok sekali lagi. Kami telah menambah logik di dalam form.validate () akan menjadi blok Mari kita lihat jika semuanya berfungsi. Lawati http: // localhost: 5000/hubungi, isi setiap bidang, dan klik "Hantar." Sekiranya semuanya berjalan lancar, anda akan menerima e -mel baru dari aplikasi Flask anda. contact.html bermaksud bahawa jika bendera kejayaan yang kami hantar dari routes.py dengan & lt; header & gt; elemen. Mari kita lakukan juga untuk halaman kenalan (baris lapan). Kami menambah halaman kenalan yang mengandungi borang ke aplikasi Flask kami. Borang muncul di beberapa tempat dalam aplikasi web, terutamanya semasa pendaftaran dan log masuk. Aliran kerja ini boleh disesuaikan untuk memenuhi keperluan tersebut. Dalam membuat halaman kenalan, kami belajar bagaimana menggunakan sambungan flask. Semak pendaftaran lanjutan flask untuk meneroka lebih banyak sambungan yang boleh anda susun ke dalam aplikasi anda. blok dengan teksnya sendiri. Kami mula -mula menentukan di mana untuk menghantar data borang pada penyerahan dengan menetapkan atribut tindakan $ cd flaskapp<br>$ . bin/activate<br>
Butang. Tetapi apa yang berlaku jika pengguna tidak mengisi borang dengan betul? Kita perlu mengesahkan input pengguna supaya ia tidak akan menyebabkan masalah dalam langkah -langkah kemudian. Nasib baik, Flask-WTF dilengkapi dengan banyak pengesahan yang berguna, terbina dalam yang boleh kita gunakan dengan segera. Kami akan meletakkan validator ini dalam validator terbina dalam datarequired dari [validators = datarequired ()] $ cd flaskapp<br>$ . bin/activate<br>
pip install -U Flask-WTF<br>
contact.html from flask_wtf import FlaskForm<br>from wtforms import StringField, TextAreaField, SubmitField<br><br><br><br>class ContactForm(FlaskForm):<br> name = StringField("Name")<br> email = StringField("Email")<br> subject = StringField("Subject")<br> message = TextAreaField("Message")<br> submit = SubmitField("Send") <br>
Buka penyemak imbas anda dan lawati http: // localhost: 5000/kenalan. Tinggalkan semua medan kosong dan klik tetapi kami tidak selesai; Kita sebenarnya boleh melakukan sedikit lebih baik. Daripada mempunyai satu mesej ralat generik untuk semua pemeriksaan pengesahan yang gagal, lebih baik mempunyai mesej ralat tertentu untuk setiap pemeriksaan pengesahan yang gagal. Sebagai contoh, jika pengguna lupa untuk mengisi medan subjek, mesej ralat tertentu yang mengatakan sila masukkan nama anda . Kita boleh mencapai ini dengan mudah, jadi mari kita mulakan dengan menulis mesej ralat khusus kita di dalam setiap pengesahan dalam forms.py from flask import Flask, render_template<br>from forms import ContactForm<br>
untuk mengarang e -mel baru dan e -mel Kami akan meletakkan yang benar
, kami akan memaparkan mesej terima kasih. Jika tidak, kami akan memaparkan borang hubungan. Jika kejayaan %} . Jika tidak, ikuti pernyataan jika ... lain
Atas ialah kandungan terperinci Pengenalan kepada Flask: Menambah halaman kenalan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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.

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.

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.

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.

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 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.

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 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.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

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.