1. 程式人生 > >Flask擴充套件: Flask-Bootstrap

Flask擴充套件: Flask-Bootstrap

Flask-Bootstrap

Bootstrap 是 Twitter 開發的一個開源框架,它提供的使用者介面元件可用於建立整潔且具有吸引力的網頁,而且這些網頁還能相容所有現代 Web 瀏覽器。

Bootstrap 是客戶端框架,因此不會直接涉及伺服器。伺服器需要做的只是提供引用了 Bootstrap 層疊樣式表(CSS)和 JavaScript 檔案的 HTML 響應, 並且 HTML、CSS 和 JavaScript 程式碼中例項化所需元件。這些操作最理想的執行場所就是模版。

Flask-Bootstrap 可以在程式中整合 Bootstrap

安裝

pip install
flask-bootstrap

使用

Flask 擴充套件一般都在建立程式例項時初始化。

from flask_bootstrap import Bootstrap

#...

bootstrap = Bootstrap(app)

初始化 Flask-Bootstrap 之後,就可以在程式中使用一個包含所有Bootstrap 檔案的基模版。這個模版利用 Jinja2 的模版繼承機制,讓程式擴充套件一個具有基本頁面結構的基模版,其中就有用來引入 Bootstrap 的元素。

{% extends "bootstrap/base.html" %}{% block title %}
Flasky{% endblock %}{% block navbar %} <div class="navbar navbar-inverse" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<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="/">Flasky</a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="/">Home</a></li> </ul> </div> </div> </div>
{% endblock %}{% block content %} <div class="container"> <div class="page-header"> <h1>Hello, {{ name }}!</h1> </div> </div> {% endblock %}

Jinja2 中的 extends 指令從 Flask-Bootstrap 中匯入 bootstrap/base.html,從而實現模版繼承。Flask-Bootstrap 中的基模版提供了一個網頁框架,引入了 Bootstrap 中的所有 CSS 和 JavaScript 檔案。

基模版中定義了可在衍生模版中重定義的塊。blockendblock 指令定義的塊中的內容可新增到基模版中。

上面這個示例定義了3個塊,分別名為 titlenavbarcontent。這些塊都是基模版提供的,可在衍生模版中重新定義。

Flask-Bootstrapbase.html 模組定義的可用塊。

塊名 說明
doc 整個HTML文件
html_attribs <html> 標籤的屬性
html <html> 標籤的內容
head <head> 標籤的內容
title <title> 標籤的內容
metas 一組 <meta> 標籤
styles 層疊樣式表定義
body_attribs <body> 標籤的屬性
body <body> 標籤的內容
navbar 使用者自定義的導航條
content 使用者定義的頁面內容
scripts 文件底部的 JavaScript 宣告

注意:上表中很多塊都是 Flask-Bootstap 自用的, 如果直接重定義可能會導致一些問題。如果程式需要向已經有內容的塊中新增新內容, 必須使用 Jinja2 提供的 super() 函式。例如,如果要在衍生模版中新增新的 JavaScript 檔案,需要這麼定義:

{% block scripts %}{{ super() }}
<script type="text/javascript" src="my-script.js"></script>
{% endblock %}

相關推薦

Flask擴充套件 Flask-Bootstrap

Flask-Bootstrap Bootstrap 是 Twitter 開發的一個開源框架,它提供的使用者介面元件可用於建立整潔且具有吸引力的網頁,而且這些網頁還能相容所有現代 Web 瀏覽器。 Bootstrap 是客戶端框架,因此不會直接涉及伺

flask擴充套件後臺管理Flask-Admin

在Flask提供了一個擴充套件模組幫助我們快速搭建一個後臺管理系統,這個模組就是--Flask-Admin 首先需要執行下面的程式碼來初始化這個模組 admin = Admin(app=app, name='後臺管理系統') if __name__ == '__mai

Flask入門 表單Flask-wtf form原生 Bootstrap渲染(七)

pat 接收數據 功能 rom dir 繼承 gist 視圖 uic (1) 原生的表單 模板頁面,form表單form.html <form action="{{ url_for(‘/check/‘) }}" method=‘post‘> <p&

flask學習(三)flask入門(URL)

bsp mys style jinja2 mage 做的 新建 原因 容易 一. flask簡介 flask是一款非常流行的python web框架,出生於2010年,作者是Armin Ronacher,本來這個項目只是作者在愚人節的一個玩笑,後來由於非常受歡迎,進而成為

flask(2)jinja模板

在之前的helloworld中,訪問根目錄,我們返回了一個<h1>標籤。當我們想要在介面上展示更多東西的時候,用return直接返回未免讓程式碼太過繁雜難以維護。 flask用模板解決此類場景。 模板是一個包含響應檔案的檔案,其中包括用佔位變量表示的動態部分,其具體值只在請求的上

flask(1)從hello World入門

一個簡單的flask應用: 一:初始化  from flask import Flask app = Flask(__name__) 所有的flask程式都必須建立一個程式例項。上述程式碼中,app即為Flask類的一個例項。 web伺服器,使用一種名為web伺服

flask學習實現一個簡單的登入的邏輯處理

最近在學習flask框架,果然比javaweb簡單很多。 需求是實現一個簡單的登入的邏輯處理。有判空和判斷不一致的操作。 其中app.py內容如下: from flask import Flask, render_template,request,flash app = Flask

Flask初學者url_for

URL反轉:反轉是指通過檢視函式名稱得到其對應的URL(有反轉也就有正轉,即通過URL得到檢視函式返回的內容,也就是我們平時的訪問網頁了),需要“url_for(endpoint, **values)”,第一個引數endpoint如果沒有指定則使用檢視函式名稱字串,第二個引數是需要傳入URL的引數(如果有)(

Flask初學者藍圖Blueprint

藍圖這個名字好像就是根據單詞Blueprint字面意思來,跟平常我們理解的藍圖完全掛不上鉤,這裡藍圖就是指Blueprint。 使用藍圖的好處是可以將不同功能作用的檢視函式/類檢視放到不同的模組中,可以更加方便的開發和維護 匯入Blueprint:from flask import Blueprin

flask學習連線mysql資料庫並建表

1.首先要下載 flask_sqlalchemy 和  flask_mysqldb。 一般在pycharm中可以搜尋到並且下載。如果出現問題,可以百度一下。 2.配置資料庫的相關設定: root:root,前一個是資料庫使用者名稱,後一個是密碼。 #配置資料庫的地址 a

flask學習開發一個微電影網站二藍圖構建, 會員登入

一:什麼是藍圖: 一個應用中或跨應用製作應用元件和支援通用的模式,一個藍圖定義了可用於單個應用的檢視,模板,靜態檔案等等的集合. 二:藍圖的作用: 1,將不同的功能模組化 2.構建大型應用  3.優化專案結構  4.增強可讀性,易於維護 三:藍圖構建專案的目錄

flask學習使用flask-wtf新增驗證邏輯

接上一篇,新增驗證邏輯有以下幾步: 1.匯入所需的方法: from wtforms.validators import DataRequired, EqualTo 一個是要求不能有缺失值,一個是判斷兩個東西是否相等。 2.在自定義表單類中進行新增: class LoginFo

flask學習如何使用flask-wtf實現一個表單

使用flask-wtf實現表單分為以下幾步: 1.安裝flask-wtf擴充套件,並且匯入對應的方法 from flask_wtf import FlaskForm from wtforms import StringField, PasswordField,SubmitField

flask學習開發一個微電影網站一專案介紹

最近在學習flask,完成了入門學習,現在想找一個專案進行實戰學習,看看系統的開發是怎麼樣的,然後看到了慕課網上有一個視訊,使用flask開發一個微電影網站,因此決定花時間學習一下。 一:首先介紹一下專案的結構:(以上圖片都是從視訊截出來的)。 二:開發和生產環境如下:

flask學習一個簡單案例綜合之前學到的知識

黑馬的免費視訊課關於入門flask的我看完了,最後第五章實現了一個小案例,基本涵蓋了之前學到的所有知識。跟著敲了一遍,覺得還不錯,因此把程式碼在這裡分享一下。重要地方也都做了記錄。 前端截圖如下: (竟然支援qq截圖直接複製,csdn真的是越來越優秀了,點贊!!!) from

Flask資料庫遷移擴充套件 Flask-Migrate 和 Flask-Script

使用Flsak-Migrate資料庫遷移框架,可以保證資料庫結構在發生變化時,改變資料庫結構不至於丟失資料庫的資料。使用其進行資料庫進行資料庫的遷移,主要分為三個步驟: 1 建立資料倉庫         首先通過mysql資料庫命令列新建資料庫test

flask(5)藍圖

理論     目的:模組化處理     實質:用於實現單個應用的檢視、模板、靜態檔案的集合     執行機制         1:在藍圖物件

flask(3)表單處理

 表單在網站中用於資料採集功能。 在flask程式中,能夠滿足基本的資訊,比如request.form可以獲取post請求中提交的表單資料。 可,當需要重複操作並驗證表單內容時,程式碼量會急劇增多,不易維護。 flask提供了專門處理表單的拓展:flask-WTF 一:

Flask框架檢視

1、檢視中請求request的屬性 request.method request.args request.form request.values request.cookies request.headers request.path request.full_path request.script

Flask框架視圖

quest pri 瀏覽器 dict turn aps 請求 sessionid args 1、視圖中請求request的屬性 request.method request.args request.form request.values request.cookies