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

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

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

User avatar
teenproza7
PHP Super Member
PHP Super Member
Posts: 204
Joined: 13/05/2019 10:03 am

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

Postby teenproza7 » 22/05/2019 6:21 pm

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

Image


ผลที่ได้
Image


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



โคัด

Code: Select all

#-*- 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)
Image

User avatar
tatiya
PHP VIP Members
PHP VIP Members
Posts: 2845
Joined: 09/07/2018 9:35 am

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

Postby tatiya » 22/05/2019 6:30 pm

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

ถ้าอยากให้ return มาหน้าเดิม ให้ใช้คำสั่ง return redirect(url_for('....'))
Image Image Image GOODBYE AND GOODLUCK EVERYONE Love you all bye. Thank you for everything.
26/09/2019

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21849
Joined: 22/09/2008 6:18 pm
Contact:

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

Postby mindphp » 25/05/2019 3:50 am

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

User avatar
teenproza7
PHP Super Member
PHP Super Member
Posts: 204
Joined: 13/05/2019 10:03 am

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

Postby teenproza7 » 25/05/2019 10:36 am

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

Code: Select all

@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')
Image


Return to “Programming - C/C++ & java & Python”

Who is online

Users browsing this forum: No registered users and 10 guests