2016-09-21 67 views
0

林尋找一種方式,其他頁面重定向到另一個頁面,而使用燒瓶藍圖Rediect在藍圖

from flask import Blueprint, request, render_template, redirect, url_for 
import json 

user = Blueprint("user",__name__,template_folder='templates') 


@user.route("/index") 
def index(): 
    return render_template("index.html") 

@user.route("/signup") 
def signup(): 
    return render_template("signup.html") 

@user.route("/login") 
def login(): 
    return render_template("login.html") 

from models.user_model import User 
from app import db 

@user.route('/saveuser/', methods=['GET']) 
def saveuser(): 
    username = request.args["username"] 
    emailid = request.args["email"] 
    password = request.args["password"] 
    try: 
     u = User(str(username),str(emailid),password=str(password)) 
     db.session.add(u) 
     db.session.commit() 
    except Exception, excp: 
     return excp 
    # return redirect('/index') 
    return render_template("index.html") 

在saveuser()我想重定向到索引頁面,如果im能夠成功插入

回答

2

使用redirecturl_for

return redirect(url_for('user.index')) 
+0

不工作在檢查元素即時通訊能夠看到該網址下的網絡被稱爲200級的地位,但它不是重定向到HTML或URL – Eswar

+1

這可能是值得一提的是,藍圖名稱可以爲路線的省略同樣的藍圖,所以'url_for('。index')'在這種情況下。 – kfb

+0

@Eswar聽起來像你使用的是Ajax。 Ajax不會重定向瀏覽器。你必須自己處理。 – dirn

0

使用下面的工作實例,並調整它來滿足您的需求:

from flask import Flask, Blueprint, render_template, redirect, url_for 

user = Blueprint("user", __name__, template_folder='templates') 


@user.route("/index") 
def index(): 
    return render_template("index.html") 


@user.route('/saveuser/', methods=['GET']) 
def saveuser(): 
    # save your user here 
    return redirect(url_for('user.index')) 


app = Flask(__name__) 

app.register_blueprint(user) 


if __name__ == "__main__": 
    app.run(host="0.0.0.0", debug=True)