不想专门为手机站设置二级域名。想通过http://127.0.0.1/m/ 的路由方式直接跳转到手机版网页。
虽然手机版和PC版的模板布局不一样,但是它们调用的后台数据是一模一样的。
目前我能想到的办法:
在每个view页面里再添加一个路由如:
如 views/index.py
# PC版
@main.route('/', methods=['GET', 'POST'])
def index():
page = request.args.get('page', 1, type=int)
pagination = BaicaiModel.query.paginate(page, per_page=40, error_out=False)
posts = pagination.items
return render_template("index.html", posts=posts, pagination=pagination)
# 手机版
@main.route('/m/', methods=['GET', 'POST'])
def m_index():
page = request.args.get('page', 1, type=int)
pagination = BaicaiModel.query.paginate(page, per_page=40, error_out=False)
posts = pagination.items
return render_template("m/index.html", posts=posts, pagination=pagination)
但是这样的话,就有三行代码是一模一样的,这样就太臃肿了!
大家在设计手机版和PC版模板的时候,都是怎样设计代码的呢?
简单提供下思路即可,谢谢了!
from flask import Flask,request
app = Flask(__name__)
app.debug = True
@app.route('/')
@app.route('/m/')
def hello_world():
tpl = 'm/index.html' if request.path.startswith('/m/') else 'index.html'
return 'Hello World! %s' % tpl
if __name__ == '__main__':
app.run()