簡體   English   中英

使用Flask將HTML頁面加載到HTML框架中

[英]Load an HTML page into an HTML frame using Flask

從標題開始,我正在嘗試使用Flask將HTML頁面加載到HTML框架中。

當我在Firefox選項卡上打開frameset.html頁面時(用{.src}}替換為index.html),框架集的行為正確。 但是,每當我運行python代碼時,加載的HTML頁面都會在框架之間正確划分,但是在任何頁面中都沒有任何index.html頁面的痕跡。


main.py

from flask import Flask, render_template, request

app = Flask(__name__)
page = 'index.html'

@app.route('/')
def home():
    return render_template('frameset.html', src=page)

app.run()

frameset.html

<html>
<frameset rows="10%,80%,*">
    <frame src=''>
        <frameset cols='20%,40%,40%'>
            <frame src=''>
                <frame src='{{src}}'>
                    <frame src='' name="output">
        </frameset>
        <frame src=''>
</frameset>

</html>

的index.html

<html>

<head>
    <title>HOME</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" media="screen">
    <style type="text/css">
        .container {
            max-width: 500px;
            padding-top: 100px;
        }
    </style>
</head>

<body>
    <div class="container">
        <a href="genostats.html" target="output">GENO stats</a>

</html>

我怎么解決這個問題? 我在這里編寫的代碼僅用於測試框架集的功能。

@app.route('index.html')處創建另一個路由,以渲染index.html模板,並確保index.html文件位於模板文件夾中

像這樣:

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

資源需要從flask的templates folderstatic folder提供,您將無法擁有資源並自動提供資源,因為這將是非常不安全的,因為隨后任何用戶都可以通過簡單地更改來訪問整個服務器鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM