将python代码联机-与我的app.py脚本混淆

将python代码联机-与我的app.py脚本混淆,python,web.py,Python,Web.py,因此,我开始将我的一些第一个python代码放到网上,我对一些事情有点模糊。当我们将app分配给web.application(URL,globals())时,到底发生了什么?另外,行form=web.input(name=“Nobody”,greet=None)是指我的另一个脚本hello\u form中的两个输入表单,但是它在这里的用途是什么?我们在下一行调用form.greet和form.name,但这些应该是基于用户输入创建的变量(但我们说name=“Nobody”?) 创建名为app的

因此,我开始将我的一些第一个python代码放到网上,我对一些事情有点模糊。当我们将
app
分配给
web.application(URL,globals())
时,到底发生了什么?另外,行
form=web.input(name=“Nobody”,greet=None)
是指我的另一个脚本
hello\u form
中的两个输入表单,但是它在这里的用途是什么?我们在下一行调用
form.greet
form.name
,但这些应该是基于用户输入创建的变量(但我们说
name=“Nobody”
?)

创建名为
app
的变量,并在其中存储调用
web.application()
的结果。换句话说,您创建一个web应用程序对象,并将该对象存储在
app

form = web.input(name="Nobody", greet=None)
这里为
name
greet
指定的值是默认值-即,如果请求中未提供用户指定的值,则使用这些值

创建名为
app
的变量,并在其中存储调用
web.application()
的结果。换句话说,您创建一个web应用程序对象,并将该对象存储在
app

form = web.input(name="Nobody", greet=None)

此处为
name
greet
指定的值是默认值-即,如果请求中未提供用户指定的值,则使用这些值。

感谢您的解释!我不确定我做错了什么,但我尝试将第二行改为:
form=web.input()
,这样做没有任何区别。同样在我的浏览器中,如果我在第一个文本框中没有键入任何内容,它也不会显示“Nobody”;它只是空的。@ZCJ它是空的,因为您的浏览器仍在提交该表单的值(空字符串)。您必须完全删除该框,浏览器才能不提交值。那么我为什么要将这些默认值放在其中呢?我之所以把它们放在那里,是因为名为
form
的web.input()变量存在。既然可以显示它们的唯一方法是,如果我甚至没有那个框,为什么您需要它们作为默认值?因为可以通过其他方式而不是通过表单访问表单处理程序。例如,有人可以使用
curl
发送HTTP请求,其中包含他们想要的内容。默认设置允许您编写健壮的Web应用程序,不会因为有人绕过您的页面而以奇怪的方式失败。感谢您的解释!我不确定我做错了什么,但我尝试将第二行改为:
form=web.input()
,这样做没有任何区别。同样在我的浏览器中,如果我在第一个文本框中没有键入任何内容,它也不会显示“Nobody”;它只是空的。@ZCJ它是空的,因为您的浏览器仍在提交该表单的值(空字符串)。您必须完全删除该框,浏览器才能不提交值。那么我为什么要将这些默认值放在其中呢?我之所以把它们放在那里,是因为名为
form
的web.input()变量存在。既然可以显示它们的唯一方法是,如果我甚至没有那个框,为什么您需要它们作为默认值?因为可以通过其他方式而不是通过表单访问表单处理程序。例如,有人可以使用
curl
发送HTTP请求,其中包含他们想要的内容。默认设置允许您编写健壮的Web应用程序,不会因为有人绕过您的页面而以奇怪的方式失败。
form = web.input(name="Nobody", greet=None)