0

我正在使用这个帮助教程来使用 web.py 框架。

蟒蛇和阿贾克斯

但我不明白这些 $ 符号在 tutorial.html 中的含义是什么

当我尝试浏览 tutorial.html 时,这些带有 $ 符号的变量会按原样显示,即

通过本地主机

$def with (form, text) $:form.render() $text

这是来自 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 = 服务器不支持此操作。”</p>

有人在使用 web.py 吗?或者任何了解这个问题的人?

4

2 回答 2

3

教程本身解释了它:

web.py 模板语言使用“$”符号来表示 Python 表达式(以及传递给模板的参数)。要使用实际的 '$',只需使用 '$$' 转义它。请注意,在 jQuery 中也使用美元符号来表示 jQuery 对象是一个流行的习惯,但是我们可以通过在 JavaScript 中使用 'jQuery' 来解决这个冲突。还有其他方法可以解决这个问题,但我喜欢这种方法,因为它很简单,而且感觉与 Python 命名空间相同。

于 2013-08-27T15:35:17.687 回答
0

这些通常用于表示表达式。在Python、JSP等大多数语言和JQuery等框架中都有使用。

我对python不太了解,但是说我想显示请求/会话范围的值,所以我可以使用

价值 = ${myval}

在 javascript 中类似,为了表示 jquery,可以使用 $...所以 jQuery("#some-element") 也可以写为 $("#some-element")。

于 2013-08-27T15:43:34.500 回答