python - 类型错误 : write_form() takes at most 1 argument (2 given)

标签 python html google-app-engine

我正在使用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/

相关文章:

python - 在 tkinter 中定位公式

python - 检查 NumPy 数组的所有元素是否符合条件

java - App Engine 数据存储 - 查询枚举字段

google-app-engine - 在 Google AppEngine 中设置 Grails 应用程序

python - 飞行数据集的准确性非常低

python - Replace() 方法在函数内不起作用

html - 如何在 angular 5 中突出显示 <ng-select> 和 <ng-option> 标签中选择的选项

html - 没有垂直空间的 float DIV

javascript - D3中是否需要退出选择?

java - JavaPNS 队列可以在 GAE 中使用吗?批量 APN 负载的方法有哪些?