我正在尝试使用python自动填充html表单数据。如果我在没有自动填充数据的情况下运行代码,网页加载就可以了。但是当我添加自动填充数据时,我得到:
TypeError: %d format: a number is required, not unicode
这是自动填充数据的代码:
class EditCarHandler(webapp2.RequestHandler):
template_variables = {}
def get(self):
template = JINJA_ENVIRONMENT.get_template('/edit_cars.html')
self.response.write(template.render(self.template_variables))
carID = self.request.get('id')
carData = Car.get_by_id(int(carID))
colorArray = ['', '', '', '', '', '', '', '', '', '']
for i in carData.color:
if i == "red":
colorArray[0] = " checked"
elif i == "orange":
colorArray[1] = " checked"
elif i == "yellow":
colorArray[2] = " checked"
elif i == "green":
colorArray[3] = " checked"
elif i == "blue":
colorArray[4] = " checked"
elif i == "purple":
colorArray[5] = " checked"
elif i == "black":
colorArray[6] = " checked"
elif i == "white":
colorArray[7] = " checked"
elif i == "gray":
colorArray[8] = " checked"
elif i == "other":
colorArray[9] = " checked"
conditionArray = ['', '', '']
if carData.condition == "new":
conditionArray[0] = " checked"
elif carData.condition == "used":
conditionArray[1] = " checked"
elif carData.condition == "damaged":
conditionArray[2] = " checked"
self.response.write("""
<main>
<form action="/editCarsForm" method="get">
<input type="hidden" name="id" value="%s">
<fieldset>
<legend>Make:</legend>
<input type="text" name="car-make" value="%s">
<legend>Model:</legend>
<input type="text" name="car-model" value="%s">
</fieldset>
<fieldset>
<legend>Year:</legend>
<input type="number" name="car-year" min="1960" max="2016" value="%s">
</fieldset>
<fieldset>
<legend>Color:<legend>
<input type="checkbox" name="car-color" value="red"%s>Red
<input type="checkbox" name="car-color" value="orange"%s>Orange
<input type="checkbox" name="car-color" value="yellow"%s>Yellow
<input type="checkbox" name="car-color" value="green"%s>Green
<input type="checkbox" name="car-color" value="blue"%s>Blue
<input type="checkbox" name="car-color" value="purple"%s>Purple
<input type="checkbox" name="car-color" value="black"%s>Black
<input type="checkbox" name="car-color" value="white"%s>White
<input type="checkbox" name="car-color" value="gray"%s>Gray
<input type="checkbox" name="car-color" value="other"%s>Other
</fieldset>
<fieldset>
<legend>Condition:</legend>
<input type="radio" name="car-condition" value="new"%s>New
<input type="radio" name="car-condition" value="used"%s>Used
<input type="radio" name="car-condition" value="damaged"%s>Damaged
</fieldset>
<fieldset>
<legend>Today's Date:</legend>
<input type="date" name="car-date" min="2016-01-01" max="2017-01-01" value="%s">
</fieldset>
<br>
<input type="submit" value="Update Car">
<input type="hidden" name="action" value="edit_car">
</form>
<br>
<form action="/viewCars" method="get">
<button>View Cars</button>
</form>
</main>
""" % (carID, carData.make, carData.model, carData.year,
colorArray[0], colorArray[1], colorArray[2], colorArray[3], colorArray[4], colorArray[5], colorArray[6], colorArray[7], colorArray[8], colorArray[9],
conditionArray[0], conditionArray[1], conditionArray[2],
carData.date))
谢谢你的帮助
我明白了!错误出现在carData.color的逻辑中,而且单选按钮是“checked”而不是“selected”
相关问题 更多 >
编程相关推荐