gpt4 book ai didi

python - <键入 'exceptions.NameError' >

转载 作者:行者123 更新时间:2023-11-28 23:33:03 28 4
gpt4 key购买 nike

尝试创建一个 Web 应用程序(使用 mySQL 和 Python),其中包含马萨诸塞州的徒步旅行路线列表。我只想在一页上显示我的数据库中所有路径的名称,但不知道为什么什么都不显示:

################################################################################
def getAllHikes():
"""
This is a middleware function to read from the database.
It returns a list containing records of all trails we have in the table.
"""

# connect to db
conn, cursor = getConnectionAndCursor()

# prepare SQL
sql = """
SELECT name
FROM hiking
"""

# run the SQL
cursor.execute(sql)

# fetch the results
data = cursor.fetchall()

# clean up
cursor.close()
conn.close()

return data

################################################################################
def showAllHikes(data):
'''Produce a table showing all trails, one per row.'''

print('''
Here are all the popular trails we have on file:
<table>
<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>
''') % (name, town)

print('''
</table>
''')
################################################################################
if __name__ == "__main__":

# get form field data
form = cgi.FieldStorage()

doHTMLHead("MassHike: A database of popular Massachusetts trails")

data = getAllHikes()
showAllHikes(data)


doHTMLTail()

当我尝试使用 Web 应用程序时,我总是会遇到这个问题。我收到一条错误消息,提示 args = ("global name 'name' is not defined",)

如果您能用非常简单的术语进行解释,我将不胜感激。我根本不明白这一点。谢谢!

最佳答案

问题出在下面的方法中。您没有在函数内或 global 级别定义 nametown

def showAllHikes(data):
'''Produce a table showing all trails, one per row.'''

print('''
Here are all the popular trails we have on file:
<table>
<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>
''') % (name, town)

print('''
</table>
''')

为了获得此信息,您需要根据 MySQL fetchall 查看数据似乎是 tuplelist

根据这些信息,我们可以执行以下操作:

print('''
Here are all the popular trails we have on file:
<table>''')
for name, town in data:
print('''
<tr>
<td>%s</td>
<td>%s</td>
</tr>
''') % (name, town)

print('''
</table>
''')

但是,看起来您的 sql 查询需要包含城镇信息,因为它目前只有 sql = """SELECT name FROM hiking""",所以这很可能会失败:

Traceback (most recent call last):
File "<console>", line 1, in <module>
ValueError: need more than 1 value to unpack

关于python - <键入 'exceptions.NameError' >,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36779977/

28 4 0
文章推荐: mysql - 将两个复杂的 SQL 语句合并为一个
文章推荐: java - 在 Eclipse 中运行 Apache Tomcat 7
文章推荐: php - 在带有搜索字段的查询中包含