我正在尝试编写一个脚本,该脚本将从国家/地区开始接收他们想去的地方的用户输入。然后获取用户的输入并更新我所在国家/地区的状态列表,然后是哪个州处于州和国家/地区。
我的后端使用python / psp,前端使用html。我无法让此页面更新在我的网站上运行。有人可以帮忙吗?
<div id="content">
<p>
Where would you like to go?
</p>
<form method="post" action="http://localhost/list2.psp">
Places to go:
<select name = "location">
<%
cursor.execute("select distint country from location") or die(mysql_error())
result = cursor.fetchall()
for record in result:
cursor.execute("select * from location where country='%s'" % record[0]) or die(mysql_error())
result2 = cursor.fetchall()
%>
<optgroup label="<%=record[0]%>
<%
for record2 in result2:
%>
<option value="<%= record2[0] %>"><%= record[1] %>, <%= record[2]%>, <%= record[3]%></option>
<%
print 'hi'
%>
</optgroup>
</select>
<br>
<input type="submit" value="Search">`
</form>
</div>
它在我的网页上给了我这个错误:
cursor.execute("select * from location where country='%s'" % record[0]) or die(mysql_error())
^
IndentationError: expected an indented block
我的语法错了吗?
答案 0 :(得分:0)
我从未听说过Python Server Pages,哇。无论如何,在Python indentation matters中,您可以将缩进视为C风格语言中花括号的替代。
for record in result:
cursor.execute("select * from location where country='%s'" % record[0]) or die(mysql_error())
result2 = cursor.fetchall()
for record2 in result2:
pass #next loop, further indented
因此,在你的for循环中,属于循环的所有东西都必须在同一级别上缩进。
答案 1 :(得分:0)
要了解如何翻译python,请按照此O'Reilly教程中的“调试”部分进行操作:http://www.oreillynet.com/pub/a/python/2004/02/26/python_server_pages.html
要修复python PSP代码,请参阅此链接http://www.webwareforpython.org/Webware/PSP/Docs/UsersGuide.html#CodeThatSpansTags 或尝试使用大括号: http://www.webwareforpython.org/Webware/PSP/Docs/UsersGuide.html#Braces