ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

บทที่ 3 ขั้นตอนการเขียน python โดยใช้ Flask การรับข้อมูลผ่านทางหน้าฟอร์มแล้วบันทึกลงฐานข้อมูล

ขั้นตอนนี้เป็นการเพิ่มข้อมูลลงฐานข้อมูลหรือ SQL (เอส-คิว-แอล) โดยการรับค่าจากหน้าฟอร์ม ส่วนของ Python (ไพธอน) สามารถติดต่อกับฐานข้อมูลได้หลายตัว แต่จะยกตัวอย่างโปรแกรมที่ใช้ Postgresql 

ขั้นตอนที่ 1 สร้างหน้าฟอร์มรับข้อมูล ใช้ html เขียนหน้าฟอร์ม

โดยการรับข้อมูลผ่าน textbox แล้วกด submit

<form action = "{{ url_for('addrec') }}" method = "POST">
         <table border="0" width="50"  align="center">
         <thead>
          <tr align="center"></tr>
            <td width="50%" align="center"><h1>เพิ่มข้อมูล</h1></td>
            <tr align="center"></tr>
            <td width="50%">ชื่อ <input type = "text" name = "name_first" /></td>
            <tr align="center"></tr>
              <td width="50%">นามสกุล<input type = "text" name = "name_last" /></td>
            <tr align="center"></tr>
              <td width="50%">สีที่ชอบ<input type = "text" name = "favorite_color" /></td>
            <tr align="center"></tr>
         <td width="50%"><input type = "submit" value = "บันทึก" /></td>
         </thead>
         </table>
      </form>

 ตัวอย่างภาพ

สร้างหน้าฟอร์มรับข้อมูล ใช้ html
สร้างหน้าฟอร์มรับข้อมูล ใช้ html

 

ขั้นตอนที่ 2 สร้าง method Add เพื่อที่จะเขียนคำสั่งรับค่า แล้ว save ลงฐานข้อมูล

คำสั่งเปิดหน้าเพิ่มข้อมูล

@app.route('/enternew')
def new_student():
    return render_template('adduser.html')

ส่วนของ method Add รับค่าจากฟอร์ม adduser มาเป็น Post หรือ get แล้ว นำมาแปลงค่า แล้วเพิ่มลง ฐานข้อมูล

@app.route('/addrec', methods=['POST', 'GET'])
def addrec():
    if request.method == 'POST':
        name = request.form['name_first']
        lastname = request.form['name_last']
        color = request.form['favorite_color']
        try:
            con = p.connect(host='127.0.0.1', database='test', user='testerp', password='test123')
            cur = con.cursor()
            sql = "insert into test_python (name_first, name_last, favorite_color) values ('%s','%s','%s')" % (name, lastname, color)
            sql = sql.encode('utf-8')
            try:
                cur.execute(sql)
                con.commit()
                return 'Name :' + name + '<br>' + 'Color 
            except:
                con.rollback()
                print('เพิ่มข้อมูล ผิดพลาด')
        except p.DatabaseError:
             print ('Error %s' % p.DatabaseError)

 ตัวอย่างจากภาพ

method Add รับค่าจากฟอร์ม adduser
method Add รับค่าจากฟอร์ม adduser

ผลรับที่ได้จากการรัน

ฟอร์มรับข้อมูล
ฟอร์มรับข้อมูล

 

ข้อมูลใน ฐานข้อมูล
ข้อมูลใน ฐานข้อมูล

เป็นขั้นตอนการเพิ่มข้อมูล ลงฐานข้อมูล ด้วยภาษา python บทต่อไปเป็นการแสดง แก้ไข ลบ 

 

หัวเรื่อง
บทเรียน Python Framework Flask Form
หมวดหมู่
Python Framework Flask, Python Framework Flask
ฮิต
12112
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-06-27 18:40:26

python_flask_form.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 8.28 KB

ผู้อัพโหลดไฟล์ ae

วันที่อัพโหลด 2017-06-27 11:26:29


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
VDO - สคลิปการอัดวีดีโอ&วีดีโอ tool_videotogif - โปรแกรมแปลงวีดีโอเป็นรูปภาพแบบ GIF
โดย jirawoot ส 24 ส.ค. 2019 6:12 pm บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
5
ส 24 ส.ค. 2019 6:12 pm โดย jirawoot
การใช้ functions_user เพื่อเพิ่มข้อมูล user ใน phpbb
โดย Ittichai_chupol ส 24 ส.ค. 2019 6:00 pm บอร์ด PHP Knowledge
0
5
ส 24 ส.ค. 2019 6:00 pm โดย Ittichai_chupol
Google Photos สามารถค้นหาหาข้อความในรูปภาพได้แล้ว
โดย jamepiyawat ส 24 ส.ค. 2019 5:39 pm บอร์ด Share Knowledge
0
5
ส 24 ส.ค. 2019 5:39 pm โดย jamepiyawat
วิธี ตรวจสอบ DNS nameserver แบบง่ายๆ
โดย aninthana ส 24 ส.ค. 2019 3:33 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
18
ส 24 ส.ค. 2019 3:33 pm โดย aninthana
วิธีประมาณการรายได้-ค่าใช้จ่ายครึ่งปีหลัง มีวิธีประมาณการยังไง
โดย EyePornnipa ส 24 ส.ค. 2019 3:19 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
17
ส 24 ส.ค. 2019 3:45 pm โดย Amp_Audit
มีวิธีกำหนดภาพ เป็นแนวนอนไหมครับ แล้วก็ ถ้าภาพเกิน 4 ภาพให้ลงมาอีกบรรทัดนึงครับ
โดย Patipat ส 24 ส.ค. 2019 1:53 pm บอร์ด HTML CSS
2
15
ส 24 ส.ค. 2019 2:18 pm โดย Patipat
Q - ทำไมหน้าตั้งค่าของ MDFiles Categories ใช้งานไม่ได้ครับ
โดย Patipat ส 24 ส.ค. 2019 11:31 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
0
9
ส 24 ส.ค. 2019 11:31 am โดย Patipat
ใบสำคัญที่กรมสรรพากรยอมรับ มีอะไรบ้าง
โดย EyePornnipa ส 24 ส.ค. 2019 11:21 am บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
24
ส 24 ส.ค. 2019 11:36 am โดย Amp_Audit
งานประจำวันที่ 24 สิงหาคม 2562
โดย Patipat ส 24 ส.ค. 2019 10:25 am บอร์ด M088 - ปฏิภัทร สารธรรม
1
7
ส 24 ส.ค. 2019 7:32 pm โดย Patipat
งานประจำวันที่ 24 สิงหาคม 2562
โดย jamepiyawat ส 24 ส.ค. 2019 10:19 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
1
10
ส 24 ส.ค. 2019 7:21 pm โดย jamepiyawat
งานประจำวันที่ 24 สิงหาคม 2562
โดย EyePornnipa ส 24 ส.ค. 2019 10:10 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
3
22
ส 24 ส.ค. 2019 9:13 pm โดย EyePornnipa
งานประจำวันที่ 24 สิงหาคม 2562
โดย jirawoot ส 24 ส.ค. 2019 10:03 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
1
4
ส 24 ส.ค. 2019 7:24 pm โดย jirawoot
งานประจำวันที่ 24 สิงหาคม 2562
โดย aninthana ส 24 ส.ค. 2019 9:50 am บอร์ด M092 - อนินธนา บุญยัง
2
22
ส 24 ส.ค. 2019 6:01 pm โดย aninthana
เขียนรายละเอียดของคำถาม
โดย พิ๊แบงค์ซ๊า ศ 23 ส.ค. 2019 11:03 pm บอร์ด Programming - PHP
0
8
ศ 23 ส.ค. 2019 11:03 pm โดย พิ๊แบงค์ซ๊า
ประเภทหน้ารายงานงบการเงิน
โดย EyePornnipa ศ 23 ส.ค. 2019 6:30 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
1
11
ส 24 ส.ค. 2019 2:10 pm โดย EyePornnipa
Android Q ได้ชื่อใหม่แล้ว ไม่ใช่ชื่อขนม แต่เป็น "Android 10" มีเปลี่ยนโลโก้ด้วย
โดย aninthana ศ 23 ส.ค. 2019 5:49 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
0
13
ศ 23 ส.ค. 2019 5:49 pm โดย aninthana
สอบถาม ถ้าลงไพทอน เวอร์ชั่นใหม่ เดิมใช้เวอร์ชั่นเก่าอยู่ จะเป็นยังไงครับ
โดย chatee supasand ศ 23 ส.ค. 2019 5:49 pm บอร์ด Programming - C/C++ & java & Python
1
20
ศ 23 ส.ค. 2019 5:52 pm โดย tatiya
ดีไซต์ใหม่ Google Play Store เน้นสีขาว
โดย jamepiyawat ศ 23 ส.ค. 2019 5:48 pm บอร์ด Share Knowledge
0
9
ศ 23 ส.ค. 2019 5:48 pm โดย jamepiyawat
วีธีการดาวน์โหลดวีดีโอด้วยลิ้ง url โดยการใช้ requests
โดย jirawoot ศ 23 ส.ค. 2019 5:46 pm บอร์ด Python Knowledge
0
19
ศ 23 ส.ค. 2019 5:46 pm โดย jirawoot
ฟีเจอร์ Template MZC_
โดย Patipat ศ 23 ส.ค. 2019 4:59 pm บอร์ด M088 - ปฏิภัทร สารธรรม
1
11
ศ 23 ส.ค. 2019 5:12 pm โดย Patipat