简体   繁体   English

TypeError: contact() 在使用 flask 时得到了一个意外的关键字参数“名称”

[英]TypeError: contact() got an unexpected keyword argument 'name' while using flask

I am usig postgreSQL and that's the class I made,我正在使用 postgreSQL 这就是我制作的 class,

class contact(db.Model):
    name = db.Column(db.String(120), nullable=False) 
    email = db.Column(db.String(120), nullable=False)
    phone_no = db.Column(db.String, nullable=False)
    msg = db.Column(db.String(120), nullable=False)
    date = db.Column(db.String(120), nullable=True)
    id = db.Column(db.Integer, primary_key=True)

That's the function to add an entry to the database那就是 function 向数据库添加条目

@app.route("/contact", methods=['GET', 'POST'])
def contact():
    if (request.method == 'POST'):
        '''Add entry to the database'''
        Name = request.form.get('Name')
        Email = request.form.get('Email')
        Phone = request.form.get('Phone_no')
        Message = request.form.get('Msg')
        entry = contact(name=Name, email=Email, phone_no=Phone, msg=Message, date=datetime.now())
        db.session.add(entry)
        db.session.commit()
    return render_template('contact.html')

That's the error I am getting这就是我得到的错误

Traceback (most recent call last):
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 2464, in __call__
    return self.wsgi_app(environ, start_response)
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 2450, in wsgi_app
    response = self.handle_exception(e)
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 1867, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Program Files\Python39\Lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "C:\Program Files\Python39\Lib\site-packages\flask\_compat.py", line 39, in reraise
    raise value
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Program Files\Python39\Lib\site-packages\flask\app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "D:\Flask\Code With Harry\Project_Blog\main.py", line 37, in contact
    entry = contact(name=Name, email=Email, phone_no=Phone, msg=Message, date=datetime.now())
TypeError: contact() got an unexpected keyword argument 'name'

Don't know why this is happening.不知道为什么会这样。 Contact.html is:联系方式。html 是:

<form name="sentMessage" action="/contact" method="POST" id="contactForm" novalidate>
        <div class="control-group">
          <div class="form-group floating-label-form-group controls">
            <label>Name</label>
            <input
              type="text"
              class="form-control"
              placeholder="Name"`enter code here`
              name="Name"
              id="name"
              required
              data-validation-required-message="Please enter your name."
            />
            <p class="help-block text-danger"></p>
          </div>
        </div>
        <div class="control-group">
          <div class="form-group floating-label-form-group controls">
            <label>Email Address</label>
            <input
              type="email"
              class="form-control"
              placeholder="Email Address"
              name="Email"
              id="email"
              required
              data-validation-required-message="Please enter your email address."
            />
            <p class="help-block text-danger"></p>
          </div>
        </div>
        <div class="control-group">
          <div class="form-group col-xs-12 floating-label-form-group controls">
            <label>Phone Number</label>
            <input
              type="tel"
              class="form-control"
              placeholder="Phone Number"
              name="Phone_no"
              id="phone"
              required
              data-validation-required-message="Please enter your phone number."
            />
            <p class="help-block text-danger"></p>
          </div>
        </div>
        <div class="control-group">
          <div class="form-group floating-label-form-group controls">
            <label>Message</label>
            <textarea
              rows="5"
              class="form-control"
              placeholder="Message"
              name="Msg"
              id="message"
              required
              data-validation-required-message="Please enter a message."
            ></textarea>
            <p class="help-block text-danger"></p>
          </div>
        </div>

So I wanted to know why I am getting this error as I am beginner and tried to sought out on my own but unfortunately I was unable to do so所以我想知道为什么我是初学者并试图自己寻找这个错误,但不幸的是我无法这样做

You are using the same name "contact" for the Sqlalchemy class:您正在为 Sqlalchemy class 使用相同的名称“联系人”:

class contact(db.Model):

and view function:并查看 function:

def contact():

The Python interpreter is unable to make difference between your class and function. Python 解释器无法区分您的 class 和 function。 Change this latter to (for example):将后者更改为(例如):

def contact_view():

This should solve your problem.这应该可以解决您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 TypeError:得到了意外的关键字参数“ name” - TypeError: got an unexpected keyword argument “name” 类型错误:Planet() 有一个意外的关键字参数“名称” - TypeError: Planet() got an unexpected keyword argument 'name' Python TypeError: got an unexpected keyword argument 'name' - Python TypeError: got an unexpected keyword argument 'name' / Accept() 处的 TypeError 得到了意外的关键字参数“名称” - TypeError at / Accept() got an unexpected keyword argument 'name' Google 联系人 API raise TypeError('Got an unexpected keyword argument "%s"' % name) - Google contact API raise TypeError('Got an unexpected keyword argument “%s”' % name) TypeError: contact() got an unexpected keyword argument 'name' - 为什么我在 django 中出现此类错误? - TypeError: contact() got an unexpected keyword argument 'name' -why I get such error in django? Flask视图引发TypeError得到意外的关键字参数 - Flask view raises TypeError got unexpected keyword argument TypeError:set_cookie()得到一个意外的关键字参数&#39;samesite&#39;(flask) - TypeError: set_cookie() got an unexpected keyword argument 'samesite' (flask) Flask 错误:typeerror run() 得到了一个意外的关键字参数 'host' - Flask Error: typeerror run() got an unexpected keyword argument 'host' Python Flask - TypeError: __init__() 得到了一个意外的关键字参数“lable” - Python Flask - TypeError: __init__() got an unexpected keyword argument 'lable'
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM