我是Python的新手。我知道C,我一直在试图解决Python,我成功了一点,我可以用它写一些小程序。我也了解HTML基础知识,并用它做了一些基本的网站。
我有这两项任务。我需要建立一个网站,用户可以发布带有一些附件的消息,可以对现有消息进行评级,删除或过滤,用户也应该能够选择网站的外观。我被允许只用" bottle"和Python 3.4。
那么,如何连接这两种不同的语言,HTML和Python呢?我知道服务器,请求和响应关系如何工作,但我无法在互联网上找到任何关于它的基本内容。如何使用python瓶做网站?我理解网站需要python但是如何使用它?我的意思是,HTML上是否有任何导入,例如" import website.py"我可以在我的HTML中提到Python文件来使用它,反之亦然。我需要学习的是如何连接python文件和html文件,以便我有一个网站,里面使用一些python代码?
请解释一切,就像与一个英语清晰的10岁男孩交谈一样,因为我在网上看到了一些信息,如同完整的代码,甚至无法理解这些瓶子代码是如何运作的。
非常感谢。
答案 0 :(得分:3)
本质上HTML是文本。每次浏览器发出请求(例如http://localhost:8080/login
或www.domain.com/route
)时,某个服务器都必须提供此html文本文档。
如果您的HTML永远不会更改(静态网站),那么您就不需要Python。但是如果你需要为新请求生成新的HTML(例如包括数据库中可能会及时更改的值),那么Python程序可以帮助组合基本的 HTML模板(想象普通的html和一些占位符)变量)与新信息(例如插入变量值)和渲染新HTML网站。
Bottle是一个Python库,它通过方便的方法处理路由,会话等来增强基本的Python功能。例如,如果你在名为hello_template.tpl
的文件中有一个类似于此的模板(请注意更改html- > TPL):
<强> hello_template.tpl 强>
<html>
<head>
<title>Hello World in Bottle</title>
</head>
<body>
<h1>Hello {{name.title()}}!</h1>
</body>
</html>
然后你可以使用name
文件中的变量server.py
来渲染它:
<强> server.py 强>
from bottle import route, template, run
@route('/hello')
@route('/hello/<name>')
def hello(name='World'):
return template('hello_template', name=name)
run(host='localhost', port=8080, debug=True)
在控制台中运行:
python server.py
如果您转到http://localhost/alex:8080
,瓶子服务器将会读取模板hello_template.tpl
,请填写名称Alex并将其返回给您。