我试图学习如何使用web.py重新创建网站,但我找不到我需要的语法。
在我使用的所有其他语言中,包括纯HTML,有一种方法可以通过调用脚本,对象,包或视图来在网页中呈现html,以保持模块化。那么我该如何用Python做到这一点?
我可以将所有非布局文件重新排列到静态目录,将它们重写为以某种方式编写和返回HTML的Python文件,或者在url处理中包含子文件,如果有办法访问并以这种方式将它们加载到html。
我希望调用一个.py来运行一个脚本,该脚本可以编写或调用该部分所需的html,但我似乎无法找到满足我需求的示例。
提前致谢,任何建议。
现在我的代码看起来像: code.py
import web
urls = (
'/favicon.ico', 'icon',
'/', 'index',
'/index', 'index'
)
app = web.application(urls, globals(), autoreload=True)
render = web.template.render('templates/')#, base='Layout')
static = web.template.render('static/')
Main = web.template.render('templates/')
MainContent = web.template.render('Content/')
class static:
def GET(self):
return static()
class icon:
def GET(self):
return static.favicon()
class index:
def GET(self):
return Main.Layout(0, 0, 'Main.css')
if __name__ == '__main__':
app.run()
/templates/Layout.html
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<link href="static/$vCSS" rel="stylesheet" type="text/css">
</head>
<body id="idBody">
<table id="idTableMain">
<tr id="idHeaderRow">
<td id="idHeaderRowCenter" colspan="3">
<img src="static/logo.jpg"/>
</td>
</tr>
<tr id="idNavigationRow">
<td id="idNavigationBar" colspan="3">
<!--Display /templates/NavBar.html -->
</td>
</tr>
<tr id="idCenterRow">
<td id="idCenterRowLeft">
<h4>
Navigation
</h4>
<!--Display /templates/Navigation.html -->
</td>
<td id="idCenterRowMain">
<!--Display /templates/Content/Content_index.html -->
</td>
<td id="idCenterRowRight">
<h4>
Information
</h4>
This was written with Python.<br><br>
Other versions of this page are here:<br>
<!--Display /templates/Versions_index.html -->
</td>
</tr>
<tr id="idFooterRow">
<td id="idFooterMain" colspan="3">
<!--Display /templates/Footer.html -->
</td>
</tr>
</table>
</body>
</html>