导入sqlite3 python Flask

问题描述 投票:0回答:2

我想在Python Flask中的app.py文件中,在名为Package的文件中名为Doktor.py的文件中执行我在下面编写的代码中的操作。

@app.route("/gdoktor", methods=['GET', 'POST'])
def gdoktor():
    if request.method == 'POST':
        doktor_id = request.form['doktor_id']
        doktor_sifre = request.form['doktor_sifre']
        conn = sqlite3.connect('hospital.db')
        c = conn.cursor()
        c.execute("SELECT doktor_id,doktor_sifre FROM Doktorlar WHERE doktor_id=? and doktor_sifre=?", (doktor_id,doktor_sifre))
        doktor = c.fetchone()
        if doktor is None:
            print("Sorry")
        else:
            return render_template("home.html")
    return render_template("gdoktor.html")

你能给我一个小例子来说明如何做到这一点吗?如果您能指导我,我将非常高兴。

python database sqlite flask
2个回答
0
投票

要在单独的文件中执行该操作,请在

Doktor.py
中创建一个函数,以
doktor_id
doktor_sifre
作为参数并返回数据库查询的结果:

Doktor.py

import sqlite3
def check_doktor(doktor_id, doktor_siftre):
    conn = sqlite3.connect('hospital.db')
    c = conn.cursor()
    c.execute("SELECT doktor_id,doktor_sifre FROM Doktorlar WHERE doktor_id=? and doktor_sifre =?", (doktor_id,doktor_sifre))
    doktor = c.fetchone()
    conn.close()
    return doktor

app.py

from flask import Flask, request, render_template
from Package.Doktor import check_doktor
app = Flask(__name__)
@app.route("/gdoktor", methods=['GET', 'POST'])
def gdoktor()L
    if request.method == 'POST':
        doktor_id = request.form['doktor_id']
        doktor_sifre = request,form['doktor_sifre']
        doktor = check_doktor(doktor_id, doktor_sifre)
        if doktor is None:
            print("Not your day buddy 😖")
        else:
            return render_template("home.html")
    return render_template("gdoktor.html")

0
投票

你在做

@app.route("/gdoktor", methods=['GET', 'POST'])
def gdoktor():
(...)
        if doktor is None:
            print("Sorry")
        else:
            return render_template("home.html")

观察

print
的效果在用户的浏览器中不可见。您应该
return
有效的响应(
render_template
的作用)或至少文本(它不会很漂亮,但至少对用户可见),这可以通过替换来完成

print("Sorry")

使用

return "Sorry"
© www.soinside.com 2019 - 2024. All rights reserved.