Python 前端框架【Bootstrap】

Bootstrap

Bootstrap是美國Twitter公司的設計師Mark Otto和Jacob Thornton合作基於HTML、CSS、JavaScript 開發的簡潔、直觀、強悍的前端開發框架,使得 Web 開發更加快捷。


使用bootstrap組件構建頁面元素

獲取css源
在官網中選擇版本後進入如下界面

Python 前端框架【Bootstrap】

選擇下載源碼進行本地導入,或者在聯網狀態下導入網絡位置的css

Python 前端框架【Bootstrap】

在html中導入bootstrap.css

Python 前端框架【Bootstrap】

在網絡上選擇需要選用的組件,這裏以按鈕爲例

Python 前端框架【Bootstrap】

複製代碼粘貼至html中,並根據需求修改內容

Python 前端框架【Bootstrap】

在瀏覽器中查看

Python 前端框架【Bootstrap】


在flask中使用bootstrap(flask_bootstrap)

flask_bootstrap可以使我們快速在flask框架中使用bootstrap來構建我們的頁面

安裝

在對應的環境中使用pip 安裝
pip install flask_bootstrap

使用

在flask工程中主程序app.py中添加代碼如下:
from flask_bootstrap import Bootstrap
app = Flask(__name__)
Bootstrap(app)
templates中的html文件可以直接導入flask_bootstrap中的基模板

Python 前端框架【Bootstrap】

可以在flask_bootstrap包中的templates/bootstrap/base.html查看基模板
{% block doc -%}
<!DOCTYPE html>
<html{% block html_attribs %}{% endblock html_attribs %}>
{%- block html %}
  <head>
    {%- block head %}
    <title>{% block title %}{{title|default}}{% endblock title %}</title>

    {%- block metas %}
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    {%- endblock metas %}

    {%- block styles %}
    <!-- Bootstrap -->
    <link href="{{bootstrap_find_resource('css/bootstrap.css', cdn='bootstrap')}}" rel="stylesheet">
    {%- endblock styles %}
    {%- endblock head %}
  </head>
  <body{% block body_attribs %}{% endblock body_attribs %}>
    {% block body -%}
    {% block navbar %}
    {%- endblock navbar %}
    {% block content -%}
    {%- endblock content %}

    {% block scripts %}
    <script src="{{bootstrap_find_resource('jquery.js', cdn='jquery')}}"></script>
    <script src="{{bootstrap_find_resource('js/bootstrap.js', cdn='bootstrap')}}"></script>
    {%- endblock scripts %}
    {%- endblock body %}
  </body>
{%- endblock html %}
</html>
{% endblock doc -%}
基模板中完成了bootstrap的css和js導入
繼承後直接添加bootstrap中的元素即可實現

繼承bootstrap的基模板後構建自己的基模板,以添加一個導航欄爲例
{% extends 'bootstrap/base.html' %}

{% block navbar %}
    <nav class="navbar navbar-default">
        <div class="container-fluid">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                        data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">測試頁面</a>
            </div>

            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
                <ul class="nav navbar-nav">
                    <li class="active"><a href="#">Link <span class="sr-only">(current)</span></a></li>
                    <li><a href="#">Link</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                           aria-expanded="false">Dropdown <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">Action</a></li>
                            <li><a href="#">Another action</a></li>
                            <li><a href="#">Something else here</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">Separated link</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">One more separated link</a></li>
                        </ul>
                    </li>
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#">Link</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                           aria-expanded="false">Dropdown <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">Action</a></li>
                            <li><a href="#">Another action</a></li>
                            <li><a href="#">Something else here</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">Separated link</a></li>
                        </ul>
                    </li>
                </ul>
            </div><!-- /.navbar-collapse -->
        </div><!-- /.container-fluid -->
    </nav>

{% endblock %}
測試主頁繼承自基模板
{% extends 'base.html' %}
{% block title %}
    主頁
{% endblock %}
{% block content %}
    <div class="jumbotron">
        <h1>歡迎來到測試主頁</h1>
    </div>
{% endblock %}
運行flask後,查看測試主頁

Python 前端框架【Bootstrap】

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章