所以我试图将bottle.py和twitter bootstrap一起用来制作一个小网站。我需要能够使用Python在HTML中的各个点插入合理数量的数据,但我不确定我是否理解HTML和python是如何通信的。
Here是推特和瓶子一起工作的一个例子。
他提到在html中链接几个.js文件,我可以看到他在哪里做,但我不确定这会影响python如何与html交互。是否存在python使用request.GET.get().strip():
捕获的Javascript回调?
最后一行也是:
return template('templates/gpio.tpl', colour1=colour1, colour2=colour2, colour3=colour3)
我不确定templates/gpio.tpl
如何与他在下面提到的html相关联。我理解颜色#变量在html中被引用(我假设这发生在{{}}语法中)但我不确定如何调用html。
根据我的理解(到目前为止还不是很多),这是怎么回事:
最后:如果有人有另一个/更好的链接bootstrap和瓶子的例子,我会很高兴看到它。
这是一个非常有用的帖子。感谢您的耐心等待。 :d
答案 0 :(得分:3)
您真的需要首先了解HTTP协议的工作原理......但是,让我们快速回答您的主要问题:
HTML和python如何通信
很简单:他们没有。会发生什么:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
APInfoTableViewCell *cell = (APInfoTableViewCell*)[super tableView:tableView cellForRowAtIndexPath:indexPath];
[cell.infoLabel setText@"Hello World"];
return cell;
}
请求方法通常 - 但不一定 - HTTP响应包含由控制器使用模板生成的HTML内容。 IOW:bottle.py使用模板生成发送回客户端的 html。
一旦发送了回复,就不再有"通信"直到客户端发送另一个请求。
答案 1 :(得分:0)
因此,如果我想创建一个改变页面上某些内容的html按钮,我将如何将该响应发送回bottle.py,并使用更改重新生成页面?
这取决于你想要改变什么...... 例如,按下按钮可能会触发新的HTTP请求,然后您应该在代码中定义一个新功能。
让我们看一下前面的例子,想象一下你想添加一个 switchOff 按钮。
您必须在gpio.tpl中的某处添加以下按钮:
<input type="submit" class="btn" name="LedsOff" value="Turn off the leds!">
然后,修改函数gpio()以添加具有以下内容的新条件:
elif request.GET.get('LedsOff','').strip():
from quick2wire.gpio import Pin, exported
with exported(Pin(12, Pin.Out)) as out1, exported(Pin(13, Pin.Out)) as out2:
out1.value = 0
out2.value = 0