基础知识 - HTML和Python连接瓶

时间:2014-12-12 22:52:55

标签: python html bottle

我是Python的新手。我知道C,我一直在试图解决Python,我成功了一点,我可以用它写一些小程序。我也了解HTML基础知识,并用它做了一些基本的网站。

我有这两项任务。我需要建立一个网站,用户可以发布带有一些附件的消息,可以对现有消息进行评级,删除或过滤,用户也应该能够选择网站的外观。我被允许只用" bottle"和Python 3.4。

那么,如何连接这两种不同的语言,HTML和Python呢?我知道服务器,请求和响应关系如何工作,但我无法在互联网上找到任何关于它的基本内容。如何使用python瓶做网站?我理解网站需要python但是如何使用它?我的意思是,HTML上是否有任何导入,例如" import website.py"我可以在我的HTML中提到Python文件来使用它,反之亦然。我需要学习的是如何连接python文件和html文件,以便我有一个网站,里面使用一些python代码?

请解释一切,就像与一个英语清晰的10岁男孩交谈一样,因为我在网上看到了一些信息,如同完整的代码,甚至无法理解这些瓶子代码是如何运作的。

非常感谢。

1 个答案:

答案 0 :(得分:3)

本质上HTML是文本。每次浏览器发出请求(例如http://localhost:8080/loginwww.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并将其返回给您。