Django(part11)--利用UUID傳遞參數

學習筆記,僅供參考

參考自:Django打造大型企業官網;

本系列Blog以應用爲主,理論基礎部分我在後端專欄Django系列博客已經寫過了,如果有些需要補充的知識點,我會在這個系列中,儘量詳細的寫一下。



利用UUID傳遞參數


  • 關於UUID

UUID是通用唯一識別碼(Universally Unique Identifier)的縮寫,是一種軟件建構的標準,亦爲開放軟件基金會組織在分佈式計算環境領域的一部分。其目的,是讓分佈式系統中的所有元素,都能有唯一的辨識信息,而不需要通過中央控制端來做辨識信息的指定。如此一來,每個人都可以創建不與其它人衝突的UUID。在這樣的情況下,就不需考慮數據庫創建時的名稱重複問題。 – 百度百科


  • UUID識別碼的格式
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

  • 利用python的uuid類生成UUID識別碼

代碼:

In [1]: import uuid

In [2]: uuid.uuid4()
Out[2]: UUID('4b301c53-5fe6-4f71-9d23-a8935e80f641')

  • 利用uuid識別碼傳遞參數

我們在book應用下的urls.py文件中添加一個路由,並指定參數的數據類型爲uuid類型:

from django.contrib import admin
from django.urls import path
from django.urls import re_path
from . import views

urlpatterns = [
    path('show_book/', views.show_book),
    re_path('<book_id>/$', views.book_detail),
    path('show_author/', views.author),
    path('book_uuid/<uuid:bookuuid>/', views.book_uuid)
]

在views.py模塊下創建一個視圖函數book_uuid:

def book_uuid(request, bookuuid):
    html = "<h2>書籍的UUID識別碼爲{}</h2>".format(bookuuid)
    return HttpResponse(html)

利用剛纔得到的UUID識別碼,向http://127.0.0.1:8000/book/book_uuid/4b301c53-5fe6-4f71-9d23-a8935e80f641/發起請求:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章