Page 2 of 2

Re: สอบถามครับ การเปิด 2 แท็บพร้อมกัน โดยใช้ Flask ทำยังไงได้บ้างครับ

Posted: 10/07/2019 8:48 pm
by mindphp
mindphp wrote:HTML ธรรมดา สำหรับ ทำหน้าเว็บ Flask ทำงานผั่ง server
ผัง Client
tag <a> ของ html ใช้กำหนดเส้นทางสำหรับเข้าถึง

ฝั่ง Server
Flask
ทำได้สองวิธี
1. รับ URL เรียกใช้ method ที่ถูกต้อง ส่ง Output ออกมาเป็นรูปแบบที่ต้องการ
2. รับ URL ชีไปที่ part ไฟล์บน Server จริงๆ แล้วทำให้ Flask เข้าถึงไฟล์ ทาง URL ได้

ทำความเข้าใจหลักการก่อน ส่วนของ Code ค่อยแก้เข้ามา

แต่การ Comment ว่า มือแปดด้าน ไม่ได้ช่วยอะไร หรือ จะบอกคนอื่นว่ามืดสิบหกด้าน ก็ไม่ได้ ช่วยอะไร
เพราะ เราไม่ได้ให้ข้อมูลมาประกอบเพิ่มเติมสำหรับปัญหาที่ติดอยู่

ทุกคำแนะนำมีประโยชน์ ถึงไม่ได้ใช้ในงานนี้ก็มีประโยชน์ต่อไปในอนาคต

Re: สอบถามครับ การเปิด 2 แท็บพร้อมกัน โดยใช้ Flask ทำยังไงได้บ้างครับ

Posted: 11/07/2019 2:26 pm
by chatee supasand
ตอนนี้ติดปัญหา เปิดไฟล์ PDF ออกมาอีกหน้านึงไม่ได้ครับ

index.py

Code: Select all

@app.route('/opens/<postID>', methods=['POST', 'GET'])
def opens(postID):
    idd = postID

    sql = "SELECT * FROM genpdf WHERE  fileid  = %s " % (idd)
    sql = sql.encode('utf-8')
    cur.execute(sql)
    try:
            rows = cur.fetchone()
            pdfpath = ('./generate/' + rows[1] + '.pdf')
            resp1 = send_file(pdfpath)
            open('./generate/' + rows[1] + '.pdf')
            resp1.headers['Content-Disposition'] = "inline; filename=%s" % str(rows[1]) + str('.pdf')
            resp1.mimetype = 'application/pdf'
    except:
            print('123 ผิดพลาด')
    return resp1
show.html

Code: Select all




    <!-- วนลูปเพื่อดึงข้อมูลมาแสดง -->
             {% for row in rows %}
             <tr>
                <td align="center">{{ row[0] }}</td>
                <td align="center"><form action="/opens/{{ row[0] }}" method="post"><input class="btn btn-outline-link" type="submit" value="{{ row[1] }}"></form></td> <!-- คลิกชื่อที่ตารางเพื่อเปิดไฟล์ PDF ขึ้นมา-->
                <td align="center">{{ row[2] }}</td>
                <td align="center">{{ row[3] }}</td>
                <td align="center">{{ row[4] }}</td>
                <!-- สร้างปุ่มเพื่อทำการลบ-->
                <td align="center">  <form action="/delete/{{ row[0] }}" method="post"> <input class="btn btn-outline-danger" type="submit" onclick="return confirm_delete();" value="ลบข้อมูล" /></form></td>
                <!-- สร้างปุ่มเพื่อทำการแก้ไข-->
                <td align="center"><form action="/edit/{{ row[0] }}" method="post"> <input class="btn btn-outline-warning" type="submit" value="แก้ไข" /> </form>

            </tr>
         {% endfor %} <!-- ปิดลูป-->


Re: สอบถามครับ การเปิด 2 แท็บพร้อมกัน โดยใช้ Flask ทำยังไงได้บ้างครับ

Posted: 11/07/2019 2:40 pm
by thatsawan
ทำความเข้าในเรื่อง HTML เพิ่มเติมหน่อย อา้งจาก viewtopic.php?f=16&t=58366#p157596

Code: Select all

<!DOCTYPE html>
<html>
<body>

<h2></h2>
<p><a href="CCF09052562.pdf" target="_blank">view</a></p>

</body>
</html> 
ข้อแตกต่างระหว่าง การใช้งาน Absolute และ Relative ( Paths/Links )
viewtopic.php?t=22186

Re: สอบถามครับ การเปิด 2 แท็บพร้อมกัน โดยใช้ Flask ทำยังไงได้บ้างครับ

Posted: 11/07/2019 3:40 pm
by chatee supasand
ได้แล้วครับ

ใส่โค้ดนี้ในหน้า HTML

show.html

Code: Select all

 <td align="center"><a href="/opens/{{ row[1] }}" target="_blank">{{ row[1] }}</a></td>