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/发起请求:

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