原创 Django URL重定向的HttpResponseDirect, redirect和reverse方法

HttpResponseDirect方法 HttpResponseRedirect是django首選的URL重定向方法,在django.http模塊裏。該方法的第一個參數是必要的,是用來重定向的URL地址。這個URL可以是完整的

原创 數據庫用戶密碼和權限管理

windows啓動mysql服務 E:\>cd E:\mysql-8.0.15-winx64\bin E:\mysql-8.0.15-winx64\bin>net start mysql E:\mysql-8.0.15-winx6

原创 Django 源碼閱讀(4):Django中自動加載機制

django 監聽文件變化實現自動重載,流程大致是:django服務啓動的同時,會啓動兩個進程,一個負責監控文件的變化,一個是主進程,如果文件發生變化,則會將退出當前進程,重新啓動一個子進程。 兩個進程 重啓的設置在 run

原创 WSGI實現——wsgiref模塊源碼閱讀

WSGI網關接口 WSGI (Python Web Server Gateway Interface, Python Web服務器網關接口)是一個Web服務器和Web應用程序之間的標準化接口,用於增進應用程序在不同的Web服務器

原创 F對象和Q對象詳解

F對象 可以使用模型的字段A與字段B進行比較,如果A寫在了等號的左邊,則B出現在等號的右邊,需要通過F對象構造; list.filter(bread__gte=F(‘bcommit’)) django支持對F()對象使用算數

原创 Django源碼閱讀(1)淺談runserver的執行過程

入口manage.py 文件 if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')

原创 包管理工具apt

包管理工具yum與apt的區別 linux系統基本上分兩大類: RedHat系列:Redhat、Centos、Fedora等 Debian系列:Debian、Ubuntu等 RedHat 系列: 常見的安裝包格式 r

原创 Python的Socket編程

前言 先將使用過程需要說明的要點記錄下: socket.socket() 創建了一個 socket 對象,並且支持 context manager type,使用 with 語句,這樣就不用再手動調用 s.close() 來關

原创 django如何取用戶上傳的頭像

在用戶信息管理的過程中,如果需要修改用戶的頭像就需要把用戶上傳的頭像保存在數據庫中,django 中可以對 form 定義爲文件的時候自動對上傳的文件進行保存的。 針對這個特性,可以利用 form 定義一個文件類型的 im

原创 type和object、class關係

1. object(常規意義上的類) 是一切類的基類,列表、字符串包括最基本的type都繼承自object print(list.__base__) print(str.__base__) print(type.__base__)

原创 Django源碼閱讀(2)INSTALLED_APPS加載過程

再次回到上節剛開始的 execute 函數,接下來我們就回過頭來分析一下 django.setup() 函數,看看它裏面是如何進行加載配置的 。 # django\core\management\__init__.py def

原创 SQL注入攻擊技巧與防範

SQL注入攻擊危害 非法讀取、篡改、刪除數據庫中的數據 盜取用戶的各類敏感信息,獲取利益 通過修改數據庫來修改網頁上的內容 注入木馬等 寫在前面 在 Web1.0 時代,人們更多是關注服務器端動態腳本語言的安全問題,比如將一

原创 Python SocketServer.py 源碼分析

SocketServer SocketServer 是 Python 標準庫中的一個模塊,其作用是創建網絡服務器。SocketServer 模塊定義了一些類來處理諸如 TCP、UDP、UNIX 流和 UNIX 數據報之上的同步

原创 Django rest framework源碼閱讀(1)----請求流程

實例化CBV,並調用該對象的dispatch方法 當請求到達的時候,首先會被CBV中定義的dispatch處理。 # Note: Views are made CSRF exempt from within `as_vie

原创 Django rest framework源碼閱讀(2)----CBV模式

CBV基於反射實現根據請求方式不同,執行不同的方法 CBV 類需要繼承 rest franework 提供的 APIView,APIView 繼承自 Django的 views.generic.base.View,所以CBV繼承