flask 如何根据域名来显示不同的模板?

@home.route("/")
def index():
    url = request.url
    .....伪代码处理下上面的url 获取到比如:www.baidu.com 
    return render_template('home/' + url + '/index.html')
    #这样/templates/home/www.baidu.com/index.html访问这个模板
@home.route("/list")
def list():
    url = request.url
    .....伪代码处理下上面的url 获取到比如:www.baidu.com
    return render_template('home/' + url + '/list.html')

有什么办法能写个全局的url = request.url,不然要给每个视图都写个url = request.url?
求大神指点!!!!

阅读 4.5k
5 个回答

试过了很多办法,好像都不理想.只能在每个视图里面都写上请求的url

我看不太懂你描述的问题,但是我觉得 url_for 这个模块可以帮到你

@home.route("/")
def index():
    url = request.url
    .....伪代码处理下上面的url 获取到比如:www.baidu.com
    return redirect(u'http://www.baidu.com')
@home.route("/list")
def list():
    url = request.url
    .....伪代码处理下上面的url 获取到比如:www.baidu.com
    return  return redirect(u'http://www.xxxx.com')

我没有测试过,你测试过后,记得告诉我结果。

题主想解决的是用全局变量替代request.url吧?
flask 有全局变量g

我觉得你需要的是蓝图吧,你可以去找一下flask的blueprints相关的资料看一看

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题