烧瓶错误:(此错误的背景,位于:http://sqlalche.me/e/e3q8)

问题描述 投票:-1回答:1

我在YouTube上的Tutorial的帮助下使用Flask创建了一个应用程序,但陷入错误

我在输入详细信息并提交后创建了一个包含某些字段的联系表,它显示为内部服务器错误,但我不知道如何解决此问题

我的程序代码在下面列出:

Python文件:(我正在Pycharm IDE中进行所有Python编码)

from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@localhost/contacts'
db = SQLAlchemy(app)

class Contact(db.Model):
    srno = db.Column(db.Integer, primary_key=True)
    first_name = db.Column(db.String(80), nullable=False)
    last_name = db.Column(db.String(80), nullable=True)
    email = db.Column(db.String(20), nullable=False)
    subject = db.Column(db.String(50), nullable=False)
    msg = db.Column(db.String(150), nullable=False)
    phone_num = db.Column(db.String(12), nullable=False)


@app.route('/')
def hello_world():
    return render_template('index.html')

@app.route('/contact', methods = ['GET', 'POST'])
def contact():
    if request.method == 'POST':
        firs = request.form.get('name')
        emai = request.form.get('email')
        subj = request.form.get('subject')
        message = request.form.get('mesg')
        phone = request.form.get('phone')
        entry = Contact(first_name=firs, email=emai, subject=subj, msg=message, phone_num=phone)
        db.session.add(entry)
        db.session.commit()
    return render_template('contact.html')


app.run()

我在网站上的联系表的HTML脚本是:

                    <span class="contact100-form-title">
                        Get in touch
                    </span>

                    <div class="wrap-input100 validate-input" data-validate = "Name is required">
                        <input class="input100" type="text" name="name" placeholder="Name">
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <i class="fa fa-user" aria-hidden="true"></i>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input" data-validate = "Valid email is required: [email protected]">
                        <input class="input100" type="text" name="emai" placeholder="Email">
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <i class="fa fa-envelope" aria-hidden="true"></i>
                        </span>
                    </div>

                    <div class="wrap-input100 validate-input" data-validate = "Phone is required">
                        <input class="input100" type="text" name="phone" placeholder="Phone Number">
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <i class="fa fa-user" aria-hidden="true"></i>
                        </span>
                    </div>


                    <div class="wrap-input100 validate-input" data-validate = "Subject is required">
                        <input class="input100" type="text" name="subject" placeholder="Subject for Contact">
                        <span class="focus-input100"></span>
                        <span class="symbol-input100">
                            <i class="fa fa-user" aria-hidden="true"></i>
                        </span>
                    </div>



                    <div class="wrap-input100 validate-input" data-validate = "Message is required">
                        <textarea class="input100" name="mesg" placeholder="Message"></textarea>
                        <span class="focus-input100"></span>
                    </div>

                    <div class="container-contact100-form-btn">
                        <button class="contact100-form-btn" type="submit">
                            Send
                        </button>
                    </div>
                </form>

任何人都可以帮助我解决这个问题

python-3.x flask visual-studio-code pycharm flask-sqlalchemy
1个回答
0
投票

首先出现的是,您没有在联系课程之后立即打电话给db.init_app(app)称呼此人

更改您访问元素表单请求的方式。使用这个

name=request.form['name']

而且您似乎还没有导入烧瓶from flask import Flask

© www.soinside.com 2019 - 2024. All rights reserved.