base.html 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. {% import 'admin/layout.html' as layout with context -%}
  2. {% import 'admin/static.html' as admin_static with context %}
  3. <!DOCTYPE html>
  4. <html>
  5. <head>
  6. <title>{% block title %}{% if admin_view.category %}{{ admin_view.category }} - {% endif %}{{ admin_view.name }} - {{ admin_view.admin.name }}{% endblock %}</title>
  7. {% block head_meta %}
  8. <meta charset="UTF-8">
  9. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <meta name="description" content="">
  12. <meta name="author" content="">
  13. {% endblock %}
  14. {% block head_css %}
  15. <link href="{{ admin_static.url(filename='bootstrap/bootstrap3/swatch/{swatch}/bootstrap.min.css'.format(swatch=config.get('FLASK_ADMIN_SWATCH', 'default')), v='3.3.5') }}" rel="stylesheet">
  16. {%if config.get('FLASK_ADMIN_SWATCH', 'default') == 'default' %}
  17. <link href="{{ admin_static.url(filename='bootstrap/bootstrap3/css/bootstrap-theme.min.css', v='3.3.5') }}" rel="stylesheet">
  18. {%endif%}
  19. <link href="{{ admin_static.url(filename='admin/css/bootstrap3/admin.css', v='1.1.1') }}" rel="stylesheet">
  20. {% if admin_view.extra_css %}
  21. {% for css_url in admin_view.extra_css %}
  22. <link href="{{ css_url }}" rel="stylesheet">
  23. {% endfor %}
  24. {% endif %}
  25. <style>
  26. body {
  27. padding-top: 4px;
  28. }
  29. </style>
  30. {% endblock %}
  31. {% block head %}
  32. {% endblock %}
  33. {% block head_tail %}
  34. {% endblock %}
  35. </head>
  36. <body>
  37. {% block page_body %}
  38. <div class="container">
  39. <nav class="navbar navbar-default" role="navigation">
  40. <!-- Brand and toggle get grouped for better mobile display -->
  41. <div class="navbar-header">
  42. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#admin-navbar-collapse">
  43. <span class="sr-only">Toggle navigation</span>
  44. <span class="icon-bar"></span>
  45. <span class="icon-bar"></span>
  46. <span class="icon-bar"></span>
  47. </button>
  48. {% block brand %}
  49. <a class="navbar-brand" href="{{ admin_view.admin.url }}">{{ admin_view.admin.name }}</a>
  50. {% endblock %}
  51. </div>
  52. <!-- navbar content -->
  53. <div class="collapse navbar-collapse" id="admin-navbar-collapse">
  54. {% block main_menu %}
  55. <ul class="nav navbar-nav">
  56. {{ layout.menu() }}
  57. </ul>
  58. {% endblock %}
  59. {% block menu_links %}
  60. <ul class="nav navbar-nav navbar-right">
  61. {{ layout.menu_links() }}
  62. </ul>
  63. {% endblock %}
  64. {% block access_control %}
  65. {% endblock %}
  66. </div>
  67. </nav>
  68. {% block messages %}
  69. {{ layout.messages() }}
  70. {% endblock %}
  71. {# store the jinja2 context for form_rules rendering logic #}
  72. {% set render_ctx = h.resolve_ctx() %}
  73. {% block body %}{% endblock %}
  74. </div>
  75. {% endblock %}
  76. {% block tail_js %}
  77. <script src="{{ admin_static.url(filename='vendor/jquery.min.js', v='2.1.4') }}" type="text/javascript"></script>
  78. <script src="{{ admin_static.url(filename='bootstrap/bootstrap3/js/bootstrap.min.js', v='3.3.5') }}" type="text/javascript"></script>
  79. <script src="{{ admin_static.url(filename='vendor/moment.min.js', v='2.9.0') }}" type="text/javascript"></script>
  80. <script src="{{ admin_static.url(filename='vendor/select2/select2.min.js', v='3.5.2') }}" type="text/javascript"></script>
  81. {% if admin_view.extra_js %}
  82. {% for js_url in admin_view.extra_js %}
  83. <script src="{{ js_url }}" type="text/javascript"></script>
  84. {% endfor %}
  85. {% endif %}
  86. {% endblock %}
  87. {% block tail %}
  88. {% endblock %}
  89. </body>
  90. </html>