我使用这个帮助教程使用web.py框架。
但我不明白这些$ sign在tutorial.html中意味着什么
当我尝试浏览tutorial.html即
时,显示带有$符号的这些变量通过localhost
$ def with(form,text) $:form.render() $文本
这是来自tutorial.html的html
$def with (form, text)
<!doctype html>
<html>
<head>
<title>Python and AJAX tutorial for beginners with webpy and jQuery</title>
<link rel="stylesheet" type="text/css" href="/static/tutorial.css" />
<script type="text/javascript" src="/static/jquery.js"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery(".button").click(function() {
var input_string = $$("input#textfield").val();
jQuery.ajax({
type: "POST",
data: {textfield : input_string},
success: function(data) {
jQuery('#foo').html(data).hide().fadeIn(1500);
},
});
return false;
});
});
</script>
</head>
<body>
<br>
<form class="form" method="post">
$:form.render()
<input class="button" type="submit" value="send"/>
</form>
<br><br>
<span id="foo">$text</span>
</body>
</html>
当我按下“发送”按钮时,显示以下错误消息:
“错误回复
错误代码501。
消息:只能POST到CGI脚本。
错误代码说明:501 =服务器不支持此操作。“
是否有人使用web.py?或者任何了解这个问题的人?
答案 0 :(得分:3)
教程本身解释了它:
web.py模板语言使用'$'符号表示Python表达式(以及传递给模板的参数)。要使用实际的'$',只需使用'$$'将其转义即可。请注意,在jQuery中使用美元符号来表示jQuery对象是一种流行的习惯,但我们可以通过在JavaScript中使用“jQuery”来解决这个冲突。还有其他方法,但我喜欢这种方法,因为它的简单性和它与Python名称空间的感觉相同。
答案 1 :(得分:0)
这些通常用于表示表达式。在大多数语言中,如Python,JSP等,以及诸如JQuery等框架,都会使用它们。
我对python知之甚少,但是说我想显示请求/会话范围的值,所以我可以使用
value = $ {myval}
在javascript中类似,表示jquery,$可以使用...所以jQuery(“#some-element”)也可以写成$(“#some-element”)。