我想在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")
你能给我一个小例子来说明如何做到这一点吗?如果您能指导我,我将非常高兴。
要在单独的文件中执行该操作,请在
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")
你在做
@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"