回顧(練習題)

2021-09-27 04:09:54 字數 3825 閱讀 3703

⒈簡述 django mvc 和 mtv

mvc:

全名是model view controller

是模型(model)-檢視(view)-控制器(controller)的縮寫

一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織**。

將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。

mvc被獨特的發展起來用於對映傳統的輸入、處理和輸出功能,在乙個邏輯的圖形化使用者介面的結構中。

mtv:

template(模板):模板語法--->將變數(資料庫資料)如何巧妙嵌入html頁面中。

view(檢視):邏輯處理

⒉django常用命令

①、建立專案命令

django-admin startproject 專案名稱

③、啟動專案命令

python manage.py runserver

預設是127.0.0.0:8000

④、修改埠號命令

python manage.py runserver 0.0.0.0:新埠號

⑤、建立虛擬環境命令

virtualenv -p python路徑 python版本 虛擬環境名稱

⑥、校驗整個django專案是否存在常見問題

python manage.py check

⑦、同步資料庫

python manage.py makemigrations

⑧、更新資料庫

python manage.py migrate

⑨、刪除資料庫所有資料(不刪除表)

python manage.py flush

⑩、啟動帶有django環境的python互動式命令列

python manage.py shell

⒊模板變數中對"點"的理解

①、字典查詢:

如果向頁面傳遞的是乙個字典型別變數

變數名.key的方式獲取值

如:student.age

②、屬性或方法查詢:

如果傳遞乙個物件

變數名.變數名

(此變數名有可能是屬性,有可能是無引數方法名稱)

如:student.get(id=)

student.all()

③、數字索引查詢:

如果傳遞乙個列表

變數名.索引

⒋常用的標籤合過濾器

①、過濾器:

default、 length、 slice、 date、 cut、 join

②、標籤:

for、 for...empty、 if、 if...else...、 if...elif...else、

load、 static、 extends、 include

⒌簡述 orm 中 get() 和 filter() 方法的區別

①、get() 方法只能查詢出唯一的一條記錄、沒有則報錯,並且返回的是乙個物件

②、filter() 方法是根據條件進行過濾,返回的是乙個 queryset 物件

⒍會話使用的技術有哪些,並且說明一下它們的區別

cookie 是由服務端生成,儲存在瀏覽器中的一段純文字資訊。

建議不要存敏感資訊(如密碼),因為電腦上的瀏覽器可能被其他人使用。

建議不要存中文漢字,可能不識別。

session是由服務端生成,預設儲存到資料庫中的一段資訊。

對於敏感、重要的資訊,建議要儲存到伺服器端,不能儲存在瀏覽器中。

cookie 儲存在瀏覽器端

session 儲存在伺服器端

設定 cookie :

# key cookie的名稱, 必填

# value cookie的值, 必填

# max_age cookie過期時間 選填(當值等於0時,關閉瀏覽器後刪除)

設定 session :

request.session[key] = value

————————————————————————————————————————

實操題:

⒈根據以下需求編寫**(請從頁面和後台編寫)

上傳並儲存到 static/images 目錄下,上傳成功後向頁面返回 ok

頁面(html):後台(views):

def demo(request):

if request.method == 'post': # 請求方式必須大寫

name = request.post.get('name') # 獲取提交過來的內容

pwd = request.post.get('pwd')

print(name, pwd)

print(request.files['photo']) # 得到的不是名稱,是乙個物件

print(type(request.files['photo'])) # photo_name = request.files['photo'].name # 獲取名稱

print(photo_name)

print(type(request.files['photo'].name))

with open(photo_name, mode='wb') as f:

# 讀取檔案中的內容

for content in request.files['photo'].chunks():

f.write(content)

return httpresponse('上傳成功了!!!')

⒉編寫**:

使用 ajax 將使用者名稱和密碼 使用 post 方式傳送到後台

點我呀

$(function(),

success: function(result),

error: function(result)})}

);}

)

⒊編寫**(前台和後台):

假設資料庫中有 100 條資料,每頁顯示 5 條資料,頁面上實現上下分頁

後端:

from django.core.paginator import paginator # 匯入分頁模組

def grrj(request):

article_obj_list = models.article.objects.all() # 查詢資料庫

my_num = 5 # 每頁資料就 5 條

paginator = paginator(article_obj_list, my_num)

count = paginator.count # 總頁數

try:

current_num = int(request.get.get('page', 1))

page_obj = paginator.page(current_num)

except:

page_obj = paginator.page(1)

return render(request, '***.html', locals())

前端:頁次:}/}每頁}總數}

DP練習題回顧(2)

我看正解好像是 n 2 的,可蒟蒻的我只能想到 n 3 不過資料水,還是讓我卡過去了 開始講演算法吧 設 f i j 為等差數列最後一項為 i 倒數第二項為 j 的方案數,這種狀態好像有點奇怪,但還是可以做滴。狀態定義出來了,轉移就簡單了,三重迴圈暴力列舉,當 a i a j a j a k 時,f...

python書中練習題 python練習題

1 定義乙個空列表,接收從鍵盤輸入的整數,把列表傳給乙個從大到小排序的函式,再輸出排序後的列表的值 listex b 0 a int input 請輸入列表長度 while b a num int input 請輸入字元 b 1 print listex sum 0 for i in range 0...

python的練習題 Python練習題

1 使用while迴圈輸入1 2 3 4 5 6 8 9 10 i 0while i 10 i i 1 if i 7 continue print i 結果 e python python python test.py1 2 求1 100的所有數的和 i 0sum 0 while i 100 i 1...