ไม่สามารถส่งค่าไปยัง database ได้

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

ไม่สามารถส่งค่าไปยัง database ได้

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

ผมทำการส่งข้อมูลไปยัง database แต่ขึ้น Error แบบนี้ครับ

รูปภาพ


ผลที่ได้
รูปภาพ


'The view function did not return a valid response. The'
TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.



โคัด

โค้ด: เลือกทั้งหมด

#-*- coding=utf-8 -*-
from flask import Flask
from flask import render_template
from flask import request

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/', methods=['POST', 'GET'])
def addcode():
    if request.method == 'POST':

        name = request.form['filename']
        code = request.form['rmlcode']
        des = request.form['description']

        try:
            con = connect(host='127.0.0.1', database='miniproject', user='postgres', password=' ', port='5432')
            cur = con.cursor()

            sql = "insert into genpdf (filename, rmlcode, description) values ('%s','%s','%s')" % (name, code, des)
            sql = sql.encode('utf-8')
            try:
                cur.execute(sql)
                con.commit()


            except:
                con.rollback()
                print('เพิ่มข้อมูล ผิดพลาด')


        except :
             print ('Error ' )

app.run(debug=True)
รูปภาพ
tatiya
PHP VIP Members
PHP VIP Members
โพสต์: 2845
ลงทะเบียนเมื่อ: 09/07/2018 9:35 am

Re: ไม่สามารถส่งค่าไปยัง database ได้

โพสต์ที่ยังไม่ได้อ่าน โดย tatiya »

ลอง return ให้ไปหน้าต่างไหน(หน้า html)สักที่ครับ
แนะนำว่า ส่วนที่ connect db ควรจะเอามาไว้นอกสุด ให้ตัวเเปร con และ cur เป็นตัวแปรแบบ global ครับจะได้เรียกใช้งานได้ทุกที่

ถ้าอยากให้ return มาหน้าเดิม ให้ใช้คำสั่ง return redirect(url_for('....'))
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41127
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ไม่สามารถส่งค่าไปยัง database ได้

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

กระทู้นี้แก้ปัญหาได้หรือยังครับ
ถ้าได้แล้ว แชร์ โค้ดที่ได้แล้วหน่อยนะครับ จะได้เป็นประโยชน์ กับคนอื่นที่เข้ามาศึกษา ด้วยครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
teenproza7
PHP Super Member
PHP Super Member
โพสต์: 204
ลงทะเบียนเมื่อ: 13/05/2019 10:03 am

Re: ไม่สามารถส่งค่าไปยัง database ได้

โพสต์ที่ยังไม่ได้อ่าน โดย teenproza7 »

ได้แล้วครับ เพราะว่าไม่ได้ return ค่าไปยังหน้าที่ต้องการ

โค้ด: เลือกทั้งหมด

@app.route('/', methods=['POST', 'GET'])
def addcode():
    try:


        if request.method == 'POST':

            name = request.form['filename']

            des = request.form['description']

            sql = "insert into genpdf (filename, description) values ('%s','%s')" % (name, des)
            sql = sql.encode('utf-8')
            try:
                cur.execute(sql)
                con.commit()
                print ('เพิ่มข้อมูล เรียบร้อยแล้ว')
                return '<br>' + '<META HTTP-EQUIV="Refresh" CONTENT="0;http://127.0.0.1:5000/show">'
            except:
                con.rollback()
                print('เพิ่มข้อมูล ผิดพลาด')

    except:
        print ('database Error')
รูปภาพ
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 43