flask-筆記

-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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273868.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273868.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273868.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL 無法連接

Host localhost is not allowed to connect to this MySQL server 錯誤 解決辦法: C:\Program Files\MySQL\MySQL Server 5.5\my.ini 在[mysqld]下加下面兩行, skip-name-resolve skip-grant-tables 重啟mysql的windows服務,在mysql命令行界面…

能讓你少寫1000行代碼的20個正則表達式

參考: (1).http://www.codeceo.com/article/20-regular-expressions.html

http請求中的Query String Parameters、Form Data、Request Payload

參考: (1).(http請求參數之Query String Parameters、Form Data、Request Payload) - https://www.jianshu.com/p/c81ec1a547ad

蜜罐

http://www.projecthoneypot.org/home.php轉載于:https://www.cnblogs.com/diyunpeng/p/3534507.html

php中json_decode返回數組或對象的實例

1.json_decode() json_decode (PHP 5 > 5.2.0, PECL json > 1.2.0) json_decode — 對 JSON 格式的字符串進行編碼 說明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一個 JSON 格式的字符串并且把它轉換為 PHP 變量 參數 json 待解碼的 json string 格式的…

如何精通js

參考: (1.)https://www.zhihu.com/search?typecontent&q%E5%A6%82%E4%BD%95%E7%B2%BE%E9%80%9Ajs

程序員怎么樣才能進入微軟?

程序員怎么樣才能進入微軟? 程序員到微軟中國總裁 “打工皇帝”長沙曬成功之道 程序員面試之道之走進微軟 應該是西北大學的學生,距離我好近(我也在西安),可是又好遠(人家拿到了MS的offer)。 專…

python中的裝飾器-(重復閱讀)

---1--- 假設我們要增強某個函數的功能,比如,在函數調用前后自動打印日志,但又不希望修改某個函數的定義,這種在代碼運行期間動態增加功能的方式,稱之為“裝飾器”(Decorator). 裝飾器本質上是一個Python…

[轉帖]好技術領導,差技術領導

團隊合作一個優秀的技術領導必然是團隊的一份子,他們認為當整個團隊成功時自己才稱得上成功。他們不僅要做好繁雜和不討好的本職工作,還要清除項目中的障礙,從而讓整個團隊能夠以100%的效率運轉起來。一個好的技術領導會努力拓寬團隊在技術上…

python有哪些常用的庫

參考: (1).https://www.zhihu.com/question/20501628/answer/19542741(Python 常用的標準庫以及第三方庫有哪些?)

C#打開文件對話框和文件夾對話框

打開文件對話框OpenFileDialog OpenFileDialog ofd new OpenFileDialog();ofd.Filter "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件|*.*";ofd.ValidateNames true;ofd.CheckPathExists true;ofd.CheckFileExists true;if (ofd.ShowDialog() DialogResult.O…

debian安裝flash插件

$ sudo apt-get install flashplugin-nonfree 轉載于:https://www.cnblogs.com/vipzrx/p/3554839.html

python中的拷貝

1.賦值: 只是復制了新對象的引用,不會開辟新的內存空間。 2.淺拷貝: 創建新對象,其內容是原對象的引用。 淺拷貝有三種形式:切片操作,工廠函數,copy模塊中的copy函數。 如: lst [1,2,3,[4,5]] …

ZOJ 2112 Dynamic Rankings

這里是題目地址 其實就是帶修改的區間第K大。 寫了一下BIT套主席樹,內存飛起,似乎需要特別的優化技巧 所以還是寫了一下線段樹套平衡樹,跑了1s左右。 其實線段樹套平衡樹就是歸并樹的自然擴展而已。 歸并樹是把歸并排序的過程建成一顆線段樹…

python3[進階]8.對象引用、可變性和垃圾回收

文章目錄8.1變量不是盒子8.2 標識,相等性和別名8.2.1 在和is之間選擇8.2.2 元組的相對不可變性8.3 默認做淺復制(拓展)為任意對象做深復制和淺復制深拷貝和淺拷貝有什么具體的區別呢?8.4 函數的參數作為引用時8.4.1 不要使用可變類型作為參數…

openfire修改服務器名稱方法

1.登陸openfire管理頁面,在主頁面下方選擇編輯屬性,修改服務器名稱為當前主機名稱,點擊保存屬性,按頁面提示重啟服務器。 2.重啟后,主頁的服務器屬性下的服務器名稱出現一個嘆號,鼠標放上去顯示Found RSA c…

python (第八章)補充-可迭代對象(補充高階函數,以及常用的高階函數)

文章目錄可迭代對象迭代器什么是迭代器什么是生成器生成器的作用生成器的注意事項總結:高階函數什么是高階函數?map()函數filter()函數reduce()函數參考可迭代對象 我們已經知道,可以直接作用于for循環的數據類型有以下幾種: 一類…

網絡閱讀開篇

網絡閱讀也符合馬太效應,投入的時間越多,獲取的有效信息卻越來越少,因此做出以下規定: 1、限制網絡閱讀時間; 2、每次閱讀做總結。 本來想的挺簡單的,隨便搜了一下,居然一部小心拜讀了兩位大神的…

python (第二章)數據結構

文章目錄2.5 對序列使用 和 建立由列表組成的列表2.6序列的增量賦值(和)關于 的謎題補充:extend()方法和有什么區別呢?2.7 list.sort方法和內置函數sorted(排序)2.8 用bisect來管理已排序的序列2.8.2用bisect.insort插入元素2.9 當…

數據庫 CURD測試題【簡單】

文章目錄1.組合兩個表基本信息要求答案2.第二高的薪水基本信息要求答案3.查找重復的電子郵箱基本信息要求答案4.超過經理收入的員工基本信息要求答案:5.超過5名學生的課信息:要求答案6.有趣的電影信息要求答案7.交換工資(updeta,條件判斷&…