需要有关我的python Web应用程序的帮助。我希望用户能够更新某些字段(我已经隐藏了一些字段)。我在之前的函数中调用了updateTrail(),它显示正常。但是,当我提交更新时,我的原始值保持不变。对我来说奇怪的是,当我调试表单时,会显示我放入的更新值。
def getUpdate(activities, dogs, restrooms, freepark, open, contact, name):
"""
Middleware function that will update objects in the database.
"""
# connect to db
conn, cursor = getConnectionAndCursor()
# prepare SQL
sql = """
UPDATE hiking
SET town=%s, region=%s, activities=%s, dogs=%s, restrooms=%s, freepark=%s,open=%s, contact=%s, lat=%s, lng=%s
WHERE name=%s
"""
parameters=(activities, dogs, restrooms, freepark, open, contact, name)
# run the SQL
cursor.execute(sql, parameters)
# fetch the results
data = cursor.fetchall()
print "<mark> %d row(s) were inserted.</mark>" % cursor.rowcount
# clean up
cursor.commit() #commits the changes to the database
cursor.close()
conn.close()
return data
################################################################################
def updateTrail(name, town, region, activities, dogs, restrooms, freepark, open, contact, lat, lng):
"""
Allows the user to update a trail of their choosing.
"""
print'''
<center>
<form>
<input type="hidden" name="name" value="%s">
<input type="hidden" name="town" value="%s">
<input type="hidden" name="region" value="%s">
<font color="white"><b>Update Activities</b></font>
<input type="text" name="activities" value="%s">
<font color="white"><b>Are Dogs Allowed?</b></font>
<input type="text" name="dogs" value="%s">
<font color="white"><b>Are Restrooms Available?</b></font>
<input type="text" name="restrooms" value="%s">
<font color="white"><b>Is there free parking?</b></font>
<input type="text" name="freepark" value="%s">
<br>
<font color="white"><b>When is the trail open?</b></font>
<input type="text" name="open" value="%s">
<font color="white"><b>Update Phone Number</b></font>
<input type="text" name="contact" value="%s">
<input type="hidden" name="lat" value="%s">
<input type="hidden" name="lng" value="%s">
<br>
<input type="submit" name="updateTrail" value="Update Trail Information">
</form>
</center>
''' % (name, town, region, activities, dogs, restrooms, freepark, open, contact, lat, lng)
################################################################################
if __name__ == "__main__":
# get form field data
form = cgi.FieldStorage()
debugFormData(form)
elif 'updateTrail' in form:
#unpack into python variable
name = form['form'].value
town = form['town'].value
region = form['region'].value
activities = form['activities'].value
dogs = form['dogs'].value
restrooms = form['restrooms'].value
freepark = form['freepark'].value
open = form['open'].value
contact = form['contact'].value
lat = form['lat'].value
lng = form['lng'].value
#update the trail's information to the database
getUpdate(activities, dogs, restrooms, freepark, open, contact)
答案 0 :(得分:0)
不应该&#34;名称=形式[&#39;形式&#39;]。值&#34; be&#34; name = form [&#39; name&#39;]。value&#34;?