【问题标题】:I can't implement API in flask token based authorization 2.o我无法在基于烧瓶令牌的授权 2.o 中实现 API
【发布时间】:2021-01-29 15:10:43
【问题描述】:

需要帮助来实施基于令牌的授权 步骤和解决方案。 我使用烧瓶作为后端和 html 和 CSS 前端。 但是我很难找到关于 api 的最佳内容。 我的目的是建立用户登录和注册

这是我的代码

#database MySQL

from flask import Flask, render_template, request, redirect, url_for,jsonify
import db
import datetime
import time
app = Flask(__name__)
cursor, conn = db.connection(app)



@app.route("/")
def index():
    return render_template("signup.html", title="SignUp")

@app.route("/signUp", methods = ["POST"])

def signUp():
    username=str(request.form["user"])
    password = str(request.form["password"])
    email = str(request.form["email"])
    cursor = conn.cursor()
    cursor.execute("INSERT INTO users(name, password, email)VALUES(%s, %s, %s)", (username, password, email))
    conn.commit()
    conn.close()
    return redirect(url_for("login"))

@app.route("/login")
def login():
    return render_template("login.html", title="data")

@app.route("/checkUser", methods=["POST"])
def check():
    username = str(request.form["user"])
    password = str(request.form["password"])
    cursor.execute("SELECT * FROM users where name = %s and password=%s", (username, password))
    users = cursor.fetchone()
    if users is None:
        return "username is wrong"
    else:
        return render_template("home.html")
@app.route("/home")
def home():
    return render_template("home.html")


if __name__ == "__main__":``
    app.run(debug=True)

【问题讨论】:

  • from flaskext.mysql import MySQL import config def connection(app): mysql = MySQL() app.config['MYSQL_DATABASE_USER'] = config.dbuser app.config['MYSQL_DATABASE_PASSWORD'] = config. dbpassword app.config['MYSQL_DATABASE_DB'] = config.dbname app.config['MYSQL_DATABASE_HOST'] = config.dbhost mysql.init_app(app) conn = mysql.connect() cursor = conn.cursor() return cursor, conn
  • 欢迎来到 SO!请不要使用 cmets 为您的问题添加更多详细信息。你可以随时编辑你的问题来做到这一点。

标签: python flask flask-restful flask-login flask-apispec


【解决方案1】:
db.py

from flaskext.mysql import MySQL
import config

def connection(app):
    mysql = MySQL()
    app.config['MYSQL_DATABASE_USER'] = config.dbuser
    app.config['MYSQL_DATABASE_PASSWORD'] = config.dbpassword
    app.config['MYSQL_DATABASE_DB'] = config.dbname
    app.config['MYSQL_DATABASE_HOST'] = config.dbhost
    mysql.init_app(app)
    conn = mysql.connect()
    cursor = conn.cursor()
    return cursor, conn

#config.py
dbuser = 'root'
dbpassword = ''
dbname = 'login_data'
dbhost = 'localhost'
debug = True
secret = 'flask-auth'
port = 8080

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2014-11-08
    • 2018-08-22
    • 2015-07-15
    • 2016-05-21
    相关资源
    最近更新 更多