我正在使用Python和Google App引擎来制作一个基本的网页。
问题出在以下行
self.self_form("That doesn't look valid to me, friend.")
当我保存文件并刷新网页时。我收到以下错误
第 94 行,发布中 self.write_form(“这对我来说似乎无效, friend 。”) 类型错误:write_form() 最多接受 1 个参数(给定 2 个)
import webapp2
form="""
<form method="post">
When is your birthday????
<br>
<br>
<label> Day
<input type="text" name="day">
</label>
<label> Month
<input type="text" name="month">
</label>
<label> Year
<input type="text" name="year">
</label>
<div style="color: red">%(error)s </div
<br>
<br>
<input type="submit">
</form>
"""
months = ['January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December']
month_abbvs = dict((m[:3].lower(),m) for m in months)
month_abbvs = dict((m[:3].lower(), m) for m in months)
def valid_month(month):
if month:
short_month = month[:3].lower()
return month_abbvs.get(short_month)
def valid_day(day):
if day.isdigit():
return int(day) if int(day) in range(1,32) else None
else:
return None
def valid_year(year):
if year.isdigit():
return int(year) if int(year) in range(1900, 2021) else None
else:
return None
class MainPage(webapp2.RequestHandler):
def write_form(error=""):
self.response.out.write(form % {"error": error} )
def get(self):
#self.response.headers['Content-Type'] = 'text/plain'
self.write_form()
def post(self):
#self.response.headers['Content-Type'] = 'text/plain'
user_month = valid_month(self.request.get('month'))
user_day = valid_day(self.request.get('day'))
user_year = valid_year(self.request.get('year'))
if not(user_day and user_year and user_month):
self.write_form("That doesn't look valid to me, friend.")
else:
self.response.out.write("Thanks! That's a totally valid day!")
app = webapp2.WSGIApplication([ ('/', MainPage)], debug=True)
这里可能出现什么问题?
代码来自 Udacity Web 开发类(class),第 5 课,视频 39
最佳答案
它应该定义为 def write_form(self, error=""):
关于python - 类型错误 : write_form() takes at most 1 argument (2 given),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53905116/