-super()
使用super()保留基模板中定義的原始內容
-?link標簽:
用來指定當前文檔和外部資源的關系。它最常見的是用來鏈接樣式表,也用來創建網站圖標(既是網站圖標樣式也包括移動設備和app圖標)。
-csrf:?
CSRF概念:CSRF跨站點請求偽造(Cross—Site Request Forgery),跟XSS攻擊一樣,存在巨大的危害性,你可以這樣來理解:
? ? ? ?攻擊者盜用了你的身份,以你的名義發送惡意請求,對服務器來說這個請求是完全合法的,但是卻完成了攻擊者所期望的一個操作,比如以你的名義發送郵件、發消息,盜取你的賬號,添加系統管理員,甚至于購買商品、虛擬貨幣轉賬等
- 重定向:簡單的來說就是,在你post完一個表單,點擊刷新按鈕,會看到一個莫名其妙的警告,要求在再次提交表單之前進行確認.之所以會出現這種情況,是因為刷新頁面時瀏覽器會重新發送之前已經發送過的最后一個請求.如果這個請求是一個包含表單數據的post請求,刷新頁面后會再次提交表單.大多數情況下,這并不是理想的處理方式.很多用戶不理解瀏覽器發出的這個警告.基于這個原因,最后別讓web瀏覽器把post請求作為瀏覽器的最后一個請求.這種需求的實現方式是,使用重定向,作為post請求的響應,而不是使用常規響應.重定向是一種特殊的響應,響應內容是url,而不是包含HTML的字符串.瀏覽器收到這種響應時,會向重定向的url發起get請求,顯示頁面的內容.
?
-sql 和nosql的區別:
一、概念
SQL?(Structured?Query?Language)?數據庫,指關系型數據庫。主要代表:SQL?Server,Oracle,MySQL(開源),PostgreSQL(開源)。
NoSQL(Not?Only?SQL)泛指非關系型數據庫。主要代表:MongoDB,Redis,CouchDB。
二、區別
1、存儲方式
SQL數據存在特定結構的表中;而NoSQL則更加靈活和可擴展,存儲方式可以省是JSON文檔、哈希表或者其他方式。SQL通常以數據庫表形式存儲數據。舉個栗子,存個學生借書數據:
而NoSQL存儲方式比較靈活,比如使用類JSON文件存儲上表中熊大的借閱數據:
2、表/數據集合的數據的關系
在SQL中,必須定義好表和字段結構后才能添加數據,例如定義表的主鍵(primary?key),索引(index),觸發器(trigger),存儲過程(stored?procedure)等。表結構可以在被定義之后更新,但是如果有比較大的結構變更的話就會變得比較復雜。在NoSQL中,數據可以在任何時候任何地方添加,不需要先定義表。例如下面這段代碼會自動創建一個新的"借閱表"數據集合:
NoSQL也可以在數據集中建立索引。以MongoDB為例,會自動在數據集合創建后創建唯一值_id字段,這樣的話就可以在數據集創建后增加索引。
從這點來看,NoSQL可能更加適合初始化數據還不明確或者未定的項目中。
?
?
三、補充
目前許多大型互聯網項目都會選用MySQL(或任何關系型數據庫) + NoSQL的組合方案。
?
關系型數據庫適合存儲結構化數據,如用戶的帳號、地址:
1)這些數據通常需要做結構化查詢(嗯,好像是廢話),比如join,這時候,關系型數據庫就要勝出一籌
2)這些數據的規模、增長的速度通常是可以預期的
3)事務性、一致性
?
NoSQL適合存儲非結構化數據,如文章、評論:
1)這些數據通常用于模糊處理,如全文搜索、機器學習
2)這些數據是海量的,而且增長的速度是難以預期的,
3)根據數據的特點,NoSQL數據庫通常具有無限(至少接近)伸縮性
4)按key獲取數據效率很高,但是對join或其他結構化查詢的支持就比較差
?
基于它們的適用范圍不同,目前主流架構才會采用組合方案,一個也不能少。目前為止,還沒有出現一個能夠通吃各種場景的數據庫,而且根據CAP理論,這樣的數據庫是不存在的。?
參考:
(1).https://www.cnblogs.com/jeakeven/p/5402095.html
?
-? flask-bootstrap:
Bootstrap(http://getbootstrap.com/)是Twitter 開發的一個開源框架,它提供的用戶界面組件可用于創建整潔且具有吸引力的網頁,而且這些網頁還能兼容所有現代Web 瀏覽器。
要想在程序中集成Bootstrap,顯然要對模板做所有必要的改動。不過,更簡單的方法是使用一個名為Flask-Bootstrap 的Flask 擴展,簡化集成的過程。Flask-Bootstrap 使用pip安裝:
pip install flask_bootstrap
Flask 擴展一般都在創建程序實例時初始化,下面是Flask_Bootstrap的初始化方法
from flask.ext.bootstrap import Bootstrap bootstrap = Bootstrap(app)
初始化Flask-Bootstrap 之后,就可以在程序中使用一個包含所有Bootstrap 文件的基模板。這個模板利用Jinja2 的模板繼承機制,讓程序擴展一個具有基本頁面結構的基模板,其中就有用來引入Bootstrap 的元素。
參考:
(1).https://www.cnblogs.com/senlinyang/p/8351720.html