我一直使用 做过兼容的应用程序。我试图修改代码在前页。

其基本思想是你去/hello URL你会得到一个"hello World!"的信息。你去/hello/和你获得"你好!"。例如/hello/杰夫的收益率"你好杰夫!".无论如何,我试图做的是把一种形式在前面用文本框在这里你可以输入你的名字,并将它提交给/hello.所以如果你输入"杰夫"的形式和提交,你获得"你好杰夫!"的信息。

然而,我们不知道如何做到这一点。我需要传递的"名称"可变的好模板,但我不知道如何。这里是我的index.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Index page</title>
</head>

<body>
<h1>Go to the <a href="${url_for('say_hello')}">default</a></h1>
<form name="helloform" action="${url_for('say_hello')}" method="post">
<input type="text" name="name">
<input type="submit">
</form>
</body>
</html>

method="get"不工作,可以预见。

有帮助吗?

解决方案

做正确的方式:去/hello?name=joe打招呼乔,等等。这是HTML / HTTP是怎样的设计工作!您的/hello URL后面的代码只需要从请求得到name参数,如果存在,并作出相应的反应。

其他提示

HTML形式有一个静态目标地址 action="/something", 但是你想要的 更改地址根据用户输入.你有两个选择:

  1. 添加javascript html形式 改变目标地址(通过 追加的名字)之前的形式 提交。

  2. 写一个新的方法,在你的网的框架,读获得或后 变量和一点的形式存在。

直接在页链接到您提供( http://werkzeug.pocoo.org/ )单击时“点击这里”,你得到的Hello X示例代码。你似乎缺少什么:

Hello ${url_values['name']|h}!

某处在HTML模板(假设它是用于响应所述模板以及用于请求)

HTML是基于REST原理...每个URL应该是一个对象,就像一个人;不是一个动作,就像打招呼的人。有URL识别您只希望,如果你的Web应用程序知道是谁在内部,通过观察它的数据库迎接谁。

如果你的web应用没有叫乔的对象,然后将它们与乔设计的URL是不正确的方法。您的特定Web应用程序是为了寻找出人是谁,发送问候信息给他们。所以,你应该有一个网址:/迎宾员,这会在GET或POST请求发送(从您的形式)的信息,并显示问候。如果不知道该向谁打招呼,它可以显示的形式来了解一下。

始终觉得你实际上有工作的对象---组成系统组件的条款---构建软件的时候。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top