routes.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. # -*- encoding: utf-8 -*-
  2. """
  3. Copyright (c) 2019 - present AppSeed.us
  4. """
  5. from apps.home import blueprint
  6. from flask import render_template, request
  7. from flask_login import login_required
  8. from jinja2 import TemplateNotFound
  9. @blueprint.route('/index')
  10. @login_required
  11. def index():
  12. return render_template('home/index.html', segment='index')
  13. @blueprint.route('/<template>')
  14. @login_required
  15. def route_template(template):
  16. try:
  17. if not template.endswith('.html'):
  18. template += '.html'
  19. # Detect the current page
  20. segment = get_segment(request)
  21. # Serve the file (if exists) from app/templates/home/FILE.html
  22. return render_template("home/" + template, segment=segment)
  23. except TemplateNotFound:
  24. return render_template('home/page-404.html'), 404
  25. except:
  26. return render_template('home/page-500.html'), 500
  27. # Helper - Extract current page name from request
  28. def get_segment(request):
  29. try:
  30. segment = request.path.split('/')[-1]
  31. if segment == '':
  32. segment = 'index'
  33. return segment
  34. except:
  35. return None