7

私はPythonWebフレームワークに不慣れで、Flaskを学ぼうとしています。私はチュートリアルを通り抜けました、そしてすべては良かったです。私は今、フレームワークを学ぶために自分の小さなアプリを作ろうとしています。メインのflask.pyファイルに次のコードがありました

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

main.htmlにこのhtmlがあります

{% extends "layout.html" %}
{% block content %}
<div> Foo bar test</div>
{% endblock %}

そして、layout.htmlには、次のような基本的なWebレイアウトがあります。

<!DOCTYPE html>       
<title>Flaskpad</title>     
<link href="/static/css/bootstrap.css" rel="stylesheet">    
<link href="/static/css/flaskpad.css" rel="stylesheet">
<style type="text/css">  
.socials {   
padding: 10px;   
}   
</style>  

</head>  
<body>  
    <div class="navbar navbar-fixed-top">  
        <div class="navbar-inner">  
                <div class="container">  
                    <ul class="nav">  
                    <li class="active">  
                            <a class="brand" href="#">Flaskpad/a>  
                    </li>  
                    <li><a href="#">Login</a></li>  
                    <li><a href="#">About</a></li>  
                    <li><a href="#">Contact</a></li>  
                </ul> 
            </div>
        </div>
    </div>
    <div class="container">
        <div class="row fcontent">
            <div class="span3">
                Empty Space
            </div>
            <div class="span6 maincontent">
                {% block content %}{% endblock %}
            </div>
            <div class="span3">
                Empty Space
            </div>
        </div>
        <div class="row ffooter">
            <div class="span12">
                Made by Bar Foo
            </div>
        </div>
    </div> 
</body>  

cssリンクが正しく行われていないことは知っていますが、プレースホルダーとしてそこにあります。pythonflask.pyを実行してlocalhost:5000に移動すると、ページが空白になり、理由がわかりません。表示される拡張の前にmain.htmlに通常のテキストを入力すると、main.htmlが読み込まれていることがわかりますが、レイアウトが拡張されていないようです。ソースを表示すると何も表示されないため、ページは文字通り空白になります。私はこれを理解することはできません。

4

4 に答える 4

3

私のために働きます。Pythonモジュールに関連する「templates」という名前のフォルダーにHTMLファイルがありますか?

これが私の完全なテストコードです。

from flask import Flask, render_template

app = Flask(__name__)

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

if __name__ == '__main__':
    app.run()

編集:あなたは言った:「私は私のメインflask.pyファイルに次のコードを持っていました」-おそらくflask.pyという名前を付けるべきではありません。これは物事を台無しにする可能性があります。

于 2012-08-31T01:43:31.620 に答える
0

<head>layout.htmlの開始タグが抜けていませんか? どこにも見当たりません。

于 2012-08-31T15:43:28.663 に答える
0

テストに使用している Web ブラウザーはどれですか?

私はあなたのコードを試してみましたが、クロムとファイアフォックスを使用してうまくいきlayout.htmlましたが、行のアンカータグが正しく閉じられていないことに気付きました

<a class="brand" href="#">Flaskpad/a>

おそらくそれが原因で、ブラウザにページが空白として表示されるのでしょうか?

于 2012-08-31T02:50:00.150 に答える
0

私はそれをあきらめました、私はそれを機能させることができませんでした。新しいディレクトリを作成し、テキストをコピーして新しいファイルに貼り付けてから実行したところ、正常に機能しました。

このインスタンスでこれが機能しなかった理由はわかりません。

于 2012-09-02T03:50:06.873 に答える