ให้เรตสมาชิก: 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
ฮิต
13088
ผู้สร้างเอกสาร
ae
วันที่สร้างเอกสาร
2017-06-27 18:40:26

python_flask_form.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 8.28 KB

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

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


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ข้อมูลที่ทำการ loop ไม่เข้าไปเก็บใน array ครับ
โดย bankjittapol จ 18 พ.ย. 2019 8:16 pm บอร์ด Joomla Development
1
10
จ 18 พ.ย. 2019 8:30 pm โดย mindphp
ใช้คำสั่ง วันที่ยังไง โดยไม่ต้องกำหนด timezone
โดย bankjittapol จ 18 พ.ย. 2019 8:11 pm บอร์ด Joomla Development
0
7
จ 18 พ.ย. 2019 8:11 pm โดย bankjittapol
จะกำหนดเงื่อนไขภาษายังไง โดยไม่ไปกำหนดค่าภาษาตรงๆ
โดย bankjittapol จ 18 พ.ย. 2019 8:01 pm บอร์ด Joomla Development
1
10
จ 18 พ.ย. 2019 8:08 pm โดย tsukasaz
ศึกษาการใช้งาน Joomla
โดย numtan5839 จ 18 พ.ย. 2019 7:16 pm บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
0
3
จ 18 พ.ย. 2019 7:16 pm โดย numtan5839
ผลพยากรณ์อากาศ เปลี่ยนภาษาตามการตั้งค่าของผู้ดูแลระบบ
โดย bankjittapol จ 18 พ.ย. 2019 7:11 pm บอร์ด Joomla Developing Knowledge
0
11
จ 18 พ.ย. 2019 7:11 pm โดย bankjittapol
สร้าง list box ใน joomla ที่สามารถเลือก มากกว่า 1 ค่า
โดย bankjittapol จ 18 พ.ย. 2019 6:14 pm บอร์ด Joomla Developing Knowledge
0
9
จ 18 พ.ย. 2019 6:14 pm โดย bankjittapol
จะดึงชื่อจังหวัดมาแสดงใน list ได้ยังไงครับ
โดย bankjittapol จ 18 พ.ย. 2019 5:45 pm บอร์ด Joomla Development
1
15
จ 18 พ.ย. 2019 5:52 pm โดย tsukasaz
ต้องการให้ ใน list แสดงชื่อจังหวัด เพื่อใช้เลือกแสดงครับ
โดย bankjittapol จ 18 พ.ย. 2019 12:03 pm บอร์ด Joomla Development
2
30
จ 18 พ.ย. 2019 4:02 pm โดย bankjittapol
Work's on Hand ตรีเนตร บูรณโพธิ์ทอง M097
โดย numtan5839 จ 04 พ.ย. 2019 11:09 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
2
25
จ 18 พ.ย. 2019 3:27 pm โดย numtan5839
ดู Logs ไฟล์ บน Windows Server แบบ Real Time ตัวอย่าง Apache Logs
โดย mindphp จ 18 พ.ย. 2019 1:45 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
12
จ 18 พ.ย. 2019 1:47 pm โดย mindphp
หา theme language file ไม่เจอ
โดย bankjittapol ส 16 พ.ย. 2019 5:33 pm บอร์ด Joomla Development
2
39
ส 16 พ.ย. 2019 5:50 pm โดย bankjittapol
ต้องการสร้าง แท็ก เพื่อเลือกจังหวัด ที่จะแสดง ต้องทำไงครับ
โดย bankjittapol จ 18 พ.ย. 2019 10:53 am บอร์ด Joomla Development
2
18
จ 18 พ.ย. 2019 11:47 am โดย bankjittapol
เริ่มลงทุนในอสังหาฯ คุณเองก็ทำได้
โดย Patty Perfume อ 17 พ.ย. 2019 6:08 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
26
จ 18 พ.ย. 2019 10:29 am โดย Losa
บันทึกตัวแปรเป็นชื่อไฟล์ลง database ไม่ได้
โดย teenproza7 อ 28 พฤษภาคม 2019 4:52 pm บอร์ด Programming - C/C++ & java & Python
0
221
อ 28 พฤษภาคม 2019 4:52 pm โดย teenproza7
งานประจำวันที่ 18 พฤศจิกายน 2562
โดย numtan5839 จ 18 พ.ย. 2019 10:14 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
1
12
จ 18 พ.ย. 2019 7:16 pm โดย numtan5839
Skype for Business และ Microsoft Teams
โดย Atomseed Suckseed จ 18 พ.ย. 2019 10:11 am บอร์ด MindPHP News / Feedback
0
6
จ 18 พ.ย. 2019 10:11 am โดย Atomseed Suckseed
งานประจำวันที่ 16 พฤศจิกายน 2562
โดย numtan5839 ส 16 พ.ย. 2019 10:28 am บอร์ด M097 - ตรีเนตร บูรณโพธิ์ทอง
4
23
ส 16 พ.ย. 2019 7:02 pm โดย numtan5839
การใช้งาน Ultrasonic Sensor เซ็นเซอร์ที่ใช้สำหรับตรวจจับระยะห่างของวัดถุ
โดย bankjittapol ส 16 พ.ย. 2019 4:42 pm บอร์ด IOT - Internet of things
0
16
ส 16 พ.ย. 2019 4:42 pm โดย bankjittapol
อยากทราบการแสดงวันที่ในรูปแบบของ joomla
โดย bankjittapol ส 16 พ.ย. 2019 11:14 am บอร์ด Joomla Development
5
48
ส 16 พ.ย. 2019 4:56 pm โดย mindphp
Ultrasonic Sensor คืออะไร
โดย bankjittapol ส 16 พ.ย. 2019 3:40 pm บอร์ด IOT - Internet of things
0
25
ส 16 พ.ย. 2019 3:40 pm โดย bankjittapol