現在、login()
ルートをテスト中ですが、リダイレクトに問題があります。 メインインデックスページにリダイレクトしたいと思います。ヘルプの理解が必要です。Flask url_for()
マイ認証青写真は、次のようになります。また
from flask import Blueprint, render_template, request, redirect, url_for
mod = Blueprint('auth', __name__, url_prefix='/auth')
@mod.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
return redirect(url_for('general.index'))
return render_template('auth/login.html')
@mod.route('/logout', methods=['GET', 'POST'])
def logout():
# Delete session token
return render_template('auth/logout.html')
@mod.route('/tokeninfo')
def token_info():
return render_template('auth/tokeninfo.html')
、私のgeneral
青写真を次のように定義されます
from flask import Blueprint, render_template
mod = Blueprint('general', __name__)
@mod.route('/')
@mod.route('/index')
def index():
return render_template('general/index.html')
しかし、毎回私は私がにリダイレクト/login
ルート上にフォームを送信しますlocalhost:5000/auth
であり、404 page not found error
を受け取ります。
私は、次の方法でreturn redirect(url_for('general.index'))
を調整しようとしているが、どれも成功しませんでした:
return redirect(url_for(general.index))
return redirect(url_for('general.index'))
return redirect(url_for('../general.index'))
EDIT:
それはと思われます提出するログインフォームは/ auth上のPOSTだけであり、/ auth/login上ではPOSTではありません。これはサーバーログに表示されます:
127.0.0.1 - - [07/Apr/2017 15:06:59] "GET /auth/login HTTP/1.1" 200 -
404 Not Found: The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
127.0.0.1 - - [07/Apr/2017 15:07:03] "POST /auth HTTP/1.1" 404 -
私は何かが分からない/わからないのですか? ありがとうございます