1
gwy15 2020-04-27 23:00:53 +08:00
flask 的 jinja2 引擎是服务器端渲染的那种,先拉 html 回来再 ajax 会多一个 RTT,也不太利于 SEO 。
服务器渲染的话,可以这么做: @route('') def index(): return render_template('.html', domain=None, detail='') @route('/<string:domain>') def direct_query(domain): return render_template('.html', domain=domain, detail=internal_api(domain)) 模板里面判断 domain 是否是 None,生成 DOM 就可以了。 如果要按你说的,先“伪静态”(楼主原来写 php 的? XD )再 ajax,那直接把成品 index.html 丢给 flask 的 static 处理,js 里面解析 url 就行了,甚至没必要渲染模板。 或者直接上前端框架( vue 、etc.),flask 只负责 ajax 就行了。 |