原创 Java中的字節輸入輸出流複製文件應用

我們先上一個字節輸入輸出流的複製文件,代碼:public static void main(String[] args) { FileInputStream in = null; FileOutputStream o = nu

原创 python web自制框架之-完整服務端實現

今天我們做下服務端的完整實現,把路由與模型分開來。首先是run函數,實現接收請求與返回客戶端數據1.def run(host='', port=3000): """ 啓動服務器 """ # 初始化 sock

原创 python web基礎,把路徑後參數化成字典形式

今天,我們把路徑中的參數化成字典的形式:類似/ss?message=hello world&author=fei定義一個函數:get_path()def get_path(path): """ /ss?message=he

原创 Python中的可變與不可變類型

首先,我們需要知道在python中哪些是可變數據類型,哪些是不可變數據類型。可變數據類型:列表list和字典dict;不可變數據類型:整型int、浮點型float、字符串型string和元組tuple。用一句話來概括上述過程就是:“pyt

原创 python web自制框架之接受url傳遞過來的參數

我們知道,在django裏有個request,可以接收表單等前端傳過來的數據,現在我們也做一個類似的功能。首先我們定義一個類class,然後初始化數據與定義保存參數的方法,如下:class Request(object): def

原创 SQL操作知識總結(二)

3-1通配符過濾--LIKESELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE 'Fish%';  關鍵詞 "LIKE 'Fish%'",作用篩選以Fish開頭的Produ

原创 Flask使用教程-加載靜態文件及顯示前端頁面

下面,我們說下,flask是怎樣加載靜態文件,以及顯示前端頁面。flask的靜態文件,一般放在static目錄下,前端頁面放在templates下,目錄結構如圖:如圖,1所示是靜態文件所放的位置,2所示是前端頁面放的地方下面,我們來加載及

原创 python web之jinja的使用

今天我們學習,jinja的使用,首先要安裝jinja, pip install jinja安裝完成後再需要的文件中,首先引入,form jinja2 import Environment,FileSystemLoader看代碼:from

原创 python web自定義日誌輸出-寫入文件

我們這裏用的是自定義日誌輸出-把測試日誌輸出寫入一個專門的文件。我們定義一個函數,log()import time def log(*args, **kwargs): # time.time() 返回 unix time

原创 python web 數據庫sql注入

大家都知道在數據庫查詢數據時,是被提示儘量少用字符串查詢數據,而是用(?,?,?)的方式代替,這樣就是爲了防sql注入。那什麼是sql注入呢,我們下面就演示一下:錯誤實例:sql = ''' SELECT id,u

原创 python web加鹽算法保護用戶密碼

大家知道,在用戶註冊時,一般都要用算法加密來保護密碼,這樣密碼只能重置,而不能修改密碼。能夠很好的保護用戶信息安全。這裏我們用sha256加鹽保護密碼,所謂加鹽,是在用戶密碼加密後,可以再加一個指定的字符串,再次加密,這樣,用戶密碼被破解

原创 SQL操作知識總結(四)

6-2,組合聚集函數SELECT COUNT(*) AS num_items,MIN(prod_price) AS price_min,MAX(prod_price) AS price_max,AVG(prod_price) AS pri

原创 python web基礎之加載靜態文件

在web運行中很重要的一個功能就是加載靜態文件,在django中可能已經給我們設置好了,我們只要直接把模板文件放在templates就好了,但是你知道在基礎中,像圖片是怎麼加載以及找到相應位置的嗎?下面我們來看看。在上篇文章中我把,靜態文

原创 SQL操作知識總結(一)

1-1,普通選擇語句:SELECT name FROM Products ;   在Products表中檢索name的列。一般與where連用。如:SELECT name FROM Products WHERE id = 1;,在Prod

原创 python web自建框架-顯示前端

像Django中的return render(),實際上可以把render看成一個函數,裏面有返回前端的函數。把header和body返回。我們可以自建一個函數templates(),讓其讀取body然後返回。def template(n