原创 創建博客-使用HTTPie測試Web服務

測試Web服務時必須使用HTTP客戶端,最常使用的兩個在命令行中測試Web服務的客戶端是curl和HTTPie,後者的命令行更簡潔,可讀性也更高,HTTPie也是用pip安裝 GET請求可按照下面方式發起(以匿名用戶): (en

原创 Python隨學隨記(9)—— OOP相關

類是一種數據結構, 可用來定義對象, 對象再把數據值和行爲融合在一起, 編程形式上的現實世界的抽象實體 實例是類的一個具體信息(真正實物),創建一個實例的過程稱作實例化 當創建一個類時, 實際也就創建了一個自己的數據類型(2

原创 創建博客-評論部分(管理)

之前我們定義了幾個角色用戶,它們分別具有不同的權限,其中一個權限是Permission.MODERATE_COMMENTS,擁有此權限的用戶可以管理其他用戶的評論 爲了方便管理評論,我們要在導航條中添加一個鏈接,具有權限的用戶才能

原创 創建博客-使用REST Web服務

使用Flask創建REST Web服務很簡單,使用熟悉的route()裝飾器及其methods可選參數可以聲明服務所提供資源URL的路由,處理JSON數據同樣簡單,因爲請求中包含的JSON數據可通過request.json這個Py

原创 部署方式

部署流程 不管使用哪種託管方案,程序安裝到生產服務器上之後,都要執行一系列的任務,最好的例子就是創建或更新數據庫表 如果每次安裝或升級程序都手動執行任務,那麼容易出錯也浪費時間,所以我們可以在manage.py中添加一個命令,自動

原创 創建博客-完善關注功能(2)

使用數據庫聯結查詢所關注用戶的文章 程序首頁目前按時間降序顯示數據庫中的所有文章,現在我們已經完成了關注功能,如果讓用戶選擇只查看所關注用戶發佈的博客文章就更好了 若想顯示所關注用戶發佈的所有文章,第一步顯然先要獲取這些用戶,然後

原创 創建博客-完善關注功能(1)

在資料頁中顯示關注者 如果用戶查看一個尚未關注用戶的資料頁,頁面中要顯示一個“Follow”(關注)按鈕,如果查看已關注用戶的資料則顯示“Unfollow”(取消關注)按鈕,並且,頁面中最好能顯示出關注者和被關注者的數量,再列出關

原创 HTTP協議的處理流程

目錄結構: 我們平時在瀏覽網頁的時候都是使用瀏覽器,輸入你想要的網站後回車,就會顯示出我們所想要的內容,看似這個簡單的用戶操作行爲的背後,Web的工作原理是怎樣的呢,到底隱藏了什麼? 對於傳統的上網流程,系統它是這麼做的:瀏覽器

原创 Git的忽略文件

在日常中,有些文件我們只想本地使用,不想上傳到遠程倉庫中被別人看到,可如果我們不追蹤這些文件,git status時Git就會絮絮叨叨的提醒我們工作目錄中一些未跟蹤的文件,所以我們可以通過.gitignore文件來讓獲得清淨 由於

原创 創建博客-初識REST

REST簡介 最近幾年,Web程序有種趨勢,就是業務邏輯被越來越多地移到了客戶端一側,開創出一種稱爲富互聯網應用(Rich Internet Application, RIA)的架構,在RIA中,服務器的主要功能(有時是唯一功能)

原创 創建博客-REST的資源

資源和JSON的序列化轉換 開發Web程序時,經常需要在資源的內部表示和JSON之間進行轉換,JSON是HTTP請求和響應使用的傳輸格式,下例是新添加到Post類中的to_json()方法 # app/models.py clas

原创 創建博客-評論部分(提交和顯示)

評論在數據庫中的表示 評論和博客文章沒有太大區別,都有正文、作者和時間戳,而且在這個特定實現中都使用Markdown語法編寫,下表是comments表的圖集以及和其他數據表之間的關係 評論屬於某篇博客文章,因此定義了一個從p

原创 測試

編寫測試單元的目的主要有兩個,實現新功能時,單元測試能夠確保新添加的代碼按預期方式運行,這個過程也可手動完成,不過自動化測試顯然能有效節省時間和精力 另一重要目的是每次修改程序後,運行單元測試能保證現有代碼的功能沒有退化, 也就是

原创 數據類型和數據表

數據類型 整形 數據類型 存儲範圍 TINYINT(1個字節) 有符號值:-128到127(-2^7到2^7-1);無符號值:0到255(0到2^8-1) SMALLINT(2個字節) 有符號值:-32768到32

原创 終於要git push了

Foreman Heroku Toolbelt中還包含另一個名爲Foreman的工具,它用於在本地通過Procfile運行程序以進行測試,Heroku客戶端設定的像FLASK_CONFIG這樣的環境變量只能在Heroku服務器上可