python - Jinja2 render multiple html files? -
i have main index.html file , contains several links sub-html files. example, index.html if user clicks link directs sub-page intro.html seems render_template receives 1 html file. how connect multiple html files using render_template?
files structures: templates/ index.html text.html
i want link text.html file index.html.
in index.html, have link following:
<a href="text.html">link</a> then want direct link load contents of text.html
second edit
@app.route('/myhtml', methods=['get']) def myhtml(): return render_template('myhtml.html') i want to this. if type localhost:8000/myhtml should link myhtml.html
it's pretty easy-- need capture file you're requesting url, use existing template:
from flask import flask, render_template, abort jinja2 import templatenotfound app = flask(__name__) @app.route('/', defaults={'page': 'index'}) @app.route('/<page>') def html_lookup(page): try: return render_template('{}.html'.format(page)) except templatenotfound: abort(404) if __name__ == '__main__': app.run() if try access 127.0.0.1:5000 it'll default page variable index , therefore try , render_template('index.html') whereas if try 127.0.0.1:5000/mypage instead search mypage.html.
if fails, it'll abort 404 not found error.
this example, totally cribbed simple blueprint example in flask documentation.
Comments
Post a Comment