หน้า 1 จากทั้งหมด 2

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

โพสต์แล้ว: 10/07/2019 12:16 pm
โดย chatee supasand
ตอนนี้ผมทำ เปิดไฟล์ PDF จากคเรื่องขึ้นมา แล้วเวลาเปิดมันจะเปิดจากหน้าเว็บเดิม

คือที่ผมต้องการคือให้มันเปิดแท็บออกมาใหม่อีกแท็บนึงอะครับ ไม่ทราบว่าทำได้ไหมครับ


้ใช้ python 2.7
ขอบคุณครับ

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

โพสต์แล้ว: 10/07/2019 12:18 pm
โดย thatsawan
ไม่เข้าใจคำถาม
การคลิกปุ่ม
ใช้ Flask ด้วยหรอค่ะ

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

โพสต์แล้ว: 10/07/2019 1:23 pm
โดย mindphp
HTML ธรรมดา สำหรับ ทำหน้าเว็บ Flask ทำงานผั่ง server

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

โพสต์แล้ว: 10/07/2019 2:17 pm
โดย tatiya
อันนี้ไม่รู้ว่า ถูกทางหรือตรงประเด็นหรือป่าวนะครับ แนะนำตัว webbrowser ลองไปปรับใช้ดู

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

from flask import Flask,render_template
import webbrowser
app = Flask(__name__)

@app.route('/test')
def my_page():
    webbrowser.open_new_tab('http://mylink.com')
    return render_template('test2.html')

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

โพสต์แล้ว: 10/07/2019 5:07 pm
โดย chatee supasand
ลองเอามาใส่ในงานแล้วมันเปิด อีกแท็บได้แค่ครั้งเดียว พอกดอีกครั้งมันไม่เปิดอีกแท็บให้แล้วอะครับ
แล้วปกติโค้ดนี้ รันเปล่าเปิดไฟล์ PDF ได้ แต่พอเอามาใส่ในงานผม รันไม่ได้เฉยเลยครับ

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

โพสต์แล้ว: 10/07/2019 5:15 pm
โดย tatiya
chatee supasand เขียน:ลองเอามาใส่ในงานแล้วมันเปิด อีกแท็บได้แค่ครั้งเดียว พอกดอีกครั้งมันไม่เปิดอีกแท็บให้แล้วอะครับ
แล้วปกติโค้ดนี้ รันเปล่าเปิดไฟล์ PDF ได้ แต่พอเอามาใส่ในงานผม รันไม่ได้เฉยเลยครับ
ลองวิธีจาก คห3 หรือยังครับ เผือผมพาไปผิดทาง

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

โพสต์แล้ว: 10/07/2019 5:18 pm
โดย chatee supasand
tatiya เขียน:
chatee supasand เขียน:ลองเอามาใส่ในงานแล้วมันเปิด อีกแท็บได้แค่ครั้งเดียว พอกดอีกครั้งมันไม่เปิดอีกแท็บให้แล้วอะครับ
แล้วปกติโค้ดนี้ รันเปล่าเปิดไฟล์ PDF ได้ แต่พอเอามาใส่ในงานผม รันไม่ได้เฉยเลยครับ
ลองวิธีจาก คห3 หรือยังครับ เผือผมพาไปผิดทาง

ลองดูแล้วอะครับ แต่ยังไม่ได้เลย มืดมนมาก

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

โพสต์แล้ว: 10/07/2019 5:21 pm
โดย thatsawan
mindphp เขียน:HTML ธรรมดา สำหรับ ทำหน้าเว็บ Flask ทำงานผั่ง server
การทำงานบน browser อยู่ พวก link มันจะเป็น HTML ธรรมดา ไม่เกี่ยวกับ ฝั่ง Server เลย

ลองศึกษาตามนี้

มาทำความรู้จักกับ target ใน html
https://www.mindphp.com/forums/viewtopic ... 20&t=25064

วิธีการใช้ Target Submit form แบบไม่เปลี่ยนหน้า
viewtopic.php?f=72&t=30439

ถามเกี่ยวกับ target="_blank" แล้วกำหนด ขนาดของหน้าเวปเพจ
viewtopic.php?f=20&t=3274

ขอถามเรื่อง target ที่ link จากเพจที่เป็น iframe หน่อยคับ
https://www.mindphp.com/forums/viewtopic.php?f=20&t=5079

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

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

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

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

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

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

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

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

index.py

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

@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

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




    <!-- วนลูปเพื่อดึงข้อมูลมาแสดง -->
             {% 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 %} <!-- ปิดลูป-->