Функция перенаправления колб не перенаправляет на правильную страницу - PullRequest
1 голос
/ 06 апреля 2019

У меня есть страница приложения маршрута. Это мой код фляги питона.


from flask import Flask, render_template, flash, redirect
from forms import RegistrationForm, LoginForm

app = Flask(__name__)


@app.route("/")
@app.route("/home", methods=["GET", "POST"])
def home():
   return render_template("home.html")


@app.route("/dashboard", methods=["GET", "POST"])
def dashboard():
    return render_template("dashboard.html")


@app.route("/register", methods=["GET", "POST"])
def register():
    form = RegistrationForm()
    app.logger.debug(form.validate_on_submit())
    if form.validate_on_submit():
        return redirect("dashboard")

    return render_template("registerPage.html", title="Register", forms=form)

Когда я запускаю его, он перенаправляет на http://localhost:5000, когда он должен перенаправить на http://localhost:5000/dashboard.
Что происходит?

1 Ответ

0 голосов
/ 06 апреля 2019

Добавить импорт для url_for:

from flask import url_for

Затем использовать его в перенаправлении:

return redirect(url_for("dashboard"))

Функция url_for берет имя функции и создает«URL для» этой функции.

Вы разместили ссылку на файлы своего проекта в DropBox.

В вашем шаблоне registerPage.html вам необходимо изменить:

 <form method="POST" action="/">

до:

 <form method="POST" action="/register">

Если вы отправите сообщение /, функция register никогда не увидит опубликованные данные и никогда не перенаправит пользователя на панель управления.

...