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

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

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

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

โดย chatee supasand » 11/07/2019 3:40 pm

ได้แล้วครับ

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

show.html

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

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

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

โดย thatsawan » 11/07/2019 2:40 pm

ทำความเข้าในเรื่อง HTML เพิ่มเติมหน่อย อา้งจาก viewtopic.php?f=16&t=58366#p157596

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

<!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 ทำยังไงได้บ้างครับ

โดย chatee supasand » 11/07/2019 2:26 pm

ตอนนี้ติดปัญหา เปิดไฟล์ 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 %} <!-- ปิดลูป-->

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

โดย mindphp » 10/07/2019 8:48 pm

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 ทำยังไงได้บ้างครับ

โดย thatsawan » 10/07/2019 5:21 pm

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 ทำยังไงได้บ้างครับ

โดย chatee supasand » 10/07/2019 5:18 pm

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

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

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

โดย tatiya » 10/07/2019 5:15 pm

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

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

โดย chatee supasand » 10/07/2019 5:07 pm

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

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

โดย tatiya » 10/07/2019 2:17 pm

อันนี้ไม่รู้ว่า ถูกทางหรือตรงประเด็นหรือป่าวนะครับ แนะนำตัว 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 ทำยังไงได้บ้างครับ

โดย mindphp » 10/07/2019 1:23 pm

HTML ธรรมดา สำหรับ ทำหน้าเว็บ Flask ทำงานผั่ง server

ข้างบน