您好,登錄后才能下訂單哦!
這篇文章主要介紹了django1和2的區別,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
Django
路由匹配使用path和re_path代替url函數
path匹配絕對路徑,re_path匹配正則表達式路徑
from django.urls import path, re_path
urlpatterns = [
path(’’, index_views),
path(‘login/’,login_views),
path(‘register/’,register_views),
path(‘check/’,check_views),
path(“test/”,test_views),
re_path(“str:user”,user_views),
re_path(“index/(\d+)”,showcontent)
]
Django的path默認支持以下5個轉化器:
str,匹配除了路徑分隔符(/)之外的非空字符串,這是默認的形式
int,匹配正整數,包含0。
slug,匹配字母、數字以及橫杠、下劃線組成的字符串。
uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
path,匹配任何非空字符串,包含了路徑分隔符
django1與2路由的差別
在django1中的url在django2中為re_path django2中新增了path 1.from django.urls import path 2.不支持正則,精準匹配 3.有5個轉換器(int,str,slug,path,uuid) 4.自定義轉換器: 1 寫一個類: class Test: regex = '[0-9]{4}' def to_python(self, value): # 寫一堆處理 value=value+'aaa' return value def to_url(self, value): return '%04d' % value 2 from django.urls import register_converter 3 register_converter(Test,'ttt') 4 path('index/<ttt:year>', views.index,name='index'),
MVC和MTV
M T V models template views M V C(路由+views) models 模板 控制器 其實MVC與MTV是一樣的,django中為MTV,數據交互層,視圖層以及控制層
視圖層:request對象
request對象: # form表單,不寫method ,默認是get請求 # 1 什么情況下用get:請求數據,請求頁面, # 2 用post請求:向服務器提交數據 # request.GET 字典 # request.POST 字典 # 請求的類型 # print(request.method) # 路徑 # http://127.0.0.1:8000/index/ppp/dddd/?name=lqz # 協議:ip地址和端口/路徑?參數(數據) # print(request.path) -->/index/ppp/dddd/ # print(request.get_full_path()) -->/index/ppp/dddd/?name=lqz
JsonResponse
向前端頁面發json格式字符串
封裝了jsonfrom django.http import JsonResponse dic={'name':'lqz','age':18} li=[1,2,3,4]return JsonResponse(li,safe=False)
感謝你能夠認真閱讀完這篇文章,希望小編分享django1和2的區別內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。