Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Код в программировании. Проблема с регистрацией-логином на Flask + SQlite

Маргарита Матина Знаток (475), на голосовании 2 месяца назад
Вот код. Он даёт ссылку на сайт, но сайт не работает от слова совсем. Не грузит. В чем проблема? С табуляцией в коде все в порядке, маил ру её сломала в тексте.

from flask import Flask, render_template, flash, redirect, url_for, session, logging, request
from flask_sqlalchemy import SQLAlchemy

def create_app(test_config=None):
app = Flask(__name__)
setup_db(app)
return app
database_path = "sqlite:/// database.bd "db = SQLAlchemy()
def setup_db(app, database_path=database_path):
app.config["SQLALCHEMY_DATABASE_URI"] = database_path
testdb = db.init_app(app)
with app.app _context():
db.create_all()
class user(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80)) email = db.Column(db.String(120))
password = db.Column(db.String(80))

app = create_app()
@app.route("/")
def index():
return render_template("templates/index.html")

@app.route("/login",methods=["GET", "POST"])
def login():
if request.method == "POST":
uname = request.form["uname"] passw = request.form["passw"]

login = user.query.filter_by(username=uname, password=passw).first()
if login is not None:
return redirect(url_for("index"))
return
render_template("templates/login.html")
@app.route("/register", methods=["GET", "POST"])def register():
if request.method == "POST":
uname = request.form['uname']
mail = request.form['mail']
passw = request.form['passw']
register = user(username = uname, email = mail, password = passw)
db.session.add(register) db.session.commit()

return redirect(url_for("login"))
return render_template("templates/register.html")
if name == "__main__":
app.run (debug=True)
Голосование за лучший ответ
Мститель Знаток (280) 3 месяца назад
Это что то связаное с доки доки
Маргарита МатинаЗнаток (475) 3 месяца назад
Твоя мама явно гордится твоим умом и чувством юмора, друг
Мститель Знаток (280) Маргарита Матина, ты прав, она очень горда за меня
Виктория Кришталь Ученик (236) 3 месяца назад
2. В функции create_app вы используешь Flask(name), вместо Flask(__name__).

3. Ошибка в методе запроса:
В функциях login и register используешь request.method == "POST", однако не импортировала модуль request. Добавь строку в начало файла:
from flask import request

4. Вместо if name == "main": должно быть if __name__ == "__main__":.

5. Функции setup_db неправильный путь. Замени "sqlite3:///database.bd" на "sqlite:/// database.bd ".

На, вот так попробуй
Похожие вопросы