Есть у Flask два замечательных модуля:
Flask-Cache - кеширует, помещая в мемкеш отрендеренную страничку.
Flask-Mobility - выдает мобильную версию для мобильных устройств.
Вот собственно, код:
from flask import Flask, render_template
from flask.ext.cache import Cache
from flask.ext.mobility import Mobility
from flask.ext.mobility.decorators import mobile_template
app = Flask(__name__)
Mobility(app)
cache = Cache(app, config={'CACHE_TYPE': 'memcached',
"CACHE_MEMCACHED_SERVERS": ['192.168.1.100:11211']})
@app.route('/')
@cache.cached(50)
@mobile_template('{mobile/}index.html')
def index(template):
return render_template(template)
if __name__ == '__main__':
app.run()
Кеширует, но как ему заблагорассудится.
То мобильную версию в кеш засунет и вернет обычным десктопным браузерам.
А то наоборот.
Как сделать, чтобы он корректно кешировал две версии и для мобил и для десктопов?