私は自分自身にPythonを教えようとしています。私は私のcontroller.pyファイルに次のコードを持っている:Pythonはweb.pyを使って間違ったページをレンダリングします
import web
urls = {
'/', 'home',
'/register', 'registerclick'
}
render = web.template.render("views/templates", base="MainLayout")
app = web.application(urls, globals())
# Classes/Routes
class home:
def GET(self):
return render.home()
class registerclick:
def GET(self):
return render.register()
if __name__ == "__main__":
app.run()
そして、これは私のMainLayout.htmlのコードです:
$def with (page)
$var css: static/css/bootstrap.css
$var js1: static/js/jquery-3.1.0.min.js static/js/bootstrap.js static/js/material.min.js static/js/ripple.min.js static/js/scripty.js
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CodeWizard</title>
$if self.css:
$for style in self.css.split():
<link rel="stylesheet" href="$style" />
</head>
<body>
<div id="app">
<div class="navbar navbar-info navbar-fixed-top">
<div class="navbar-header">
<a class="navbar-brand">CodeWizard</a>
</div>
<ul class="nav navbar-nav">
<li>
<a class="waves-effect" href="/">Home Feed<div class="ripple-container"></div></a>
</li>
<li>
<a href="/discover">Discover<div class="ripple-container"></div></a>
</li>
<li>
<a href="/profile">Profile<div class="ripple-container"></div></a>
</li>
<li>
<a href="/settings">Settings<div class="ripple-container"></div></a>
</li>
</ul>
<div class="pull-right">
<a href="/register" class="btn btn-raised btn-default waves-effect">Register</a>
</div>
</div>
<br /><br />
$:page
</div>
$if self.js1:
$for script in self.js1.split():
<script src="$script"></script>
</body>
</html>
私は2つの追加ファイル(home.htmlを、持っているし、登録します。 html)、私はブートストラップを利用しています(しかし、それは私の問題とは関係ありません)。
私はアプリケーションを起動し、ブラウザを開いてurlとしてlocalhost:8080を入力すると、MainLayout.htmlがブラウザにロードされます(私が期待する)が、register.htmlの内容は$:pageにロードされ、どうしてか分かりません。
urlから2番目のエントリを削除し、controller.pyからregnsterclickクラスを削除すると、MainLayout.htmlページがロードされ、何も$:pageに読み込まれないように見えます。
register.htmlの内容が表示される理由は何ですか?どんな助けでも大歓迎です。
ありがとうございました。
あなたがローカルホストでブラウザを開く:8080は、あなたがそのURLに対して定義されたものを持っていないとエラーが表示されなければなりません。おそらく8080で実行しているWebサーバーの「古い」バージョンがありますか?あなたが記述したその症状は、あなたのコードと一致しません。 – pbuck