亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Django怎么編寫一個應用視圖

發布時間:2021-06-18 14:42:51 來源:億速云 閱讀:237 作者:Leah 欄目:web開發

這篇文章給大家介紹使用Django怎么編寫一個應用視圖,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

項目中創建應用

  • 首先切換到項目目錄中

  • 其次輸入命令:python manage.py startapp 項目名稱(自定義名稱)

  • 最后按下 enter 鍵,創建成功

(venv) apple:hello_django lifeng$ python manage.py startapp hello_apps

使用Django怎么編寫一個應用視圖

編寫第一個視圖

在創建的應用中創建視圖:

from django.contrib import admin from django.urls import path from hello_apps import views  urlpatterns = [     # admin這個是系統自帶的     path('admin/', admin.site.urls),     path('hello/', views.hello), ]

在urls中配置路徑:

def _path(route, view, kwargs=None, name=None, Pattern=None):     if isinstance(view, (list, tuple)):         # For include(...) processing.         pattern = Pattern(route, is_endpoint=False)         urlconf_module, app_name, namespace = view         return URLResolver(             pattern,             urlconf_module,             kwargs,             app_name=app_name,             namespace=namespace,         )     elif callable(view):         pattern = Pattern(route, name=name, is_endpoint=True)         return URLPattern(pattern, view, kwargs, name)     else:         raise TypeError('view must be a callable or a list/tuple in the case of include().')   path = partial(_path, Pattern=RoutePattern) re_path = partial(_path, Pattern=RegexPattern)

path中有五個參數,兩個必傳參數route、view;兩個可傳參數kwargs、name;Pattern默認值是None

  • route:路線,也就是配置url路徑,

  • view:視圖函數,用于執行與正則匹配的url請求

  • kwargs:任意個關鍵字參數可以作為一個字典傳遞給目標視圖函數

  • name:別名,為url路徑取別名使用

Pattern默認值是None,體現在下面這段代碼上:

path = partial(_path, Pattern=RoutePattern)

在這里就引入了一個高階函數的概念,偏函數,舉例子如下:

print(int('11111', base=8))

把字符串轉成8進制的整數類型,如遇到一次還可以這樣操作,如遇到多個變量進行八進制的轉換就每次都要寫base=8,那如果是下面這樣寫會不會就舒服些呢?

設置固定默認值:

def new_int(value, base=8):  return int(value, base)

使用partial創建偏函數,簡單理解就是固定住默認值,返回一個新的函數,從而能更簡單地調用:

from functools import partial  new_type = partial(int, base=8)  print(new_type('55555'))

以上創建偏函數說的均是關鍵字傳參,還有*args傳參,您可自行百度搜索或可查看python官網文檔。

官方文檔地址:https://docs.python.org/zh-cn/3/library/functools.html

再返回觀看Pattern所傳的關鍵字是RoutePattern,而RoutePattern利用正則來專門查找url路徑的等一系列方法。

path = partial() 就是創建一個偏函數,并返回一個新函數,新函數是保留原函數參數的,只是做了一個默認值綁定:

path = partial(_path, Pattern=RoutePattern)

有些時候可能你會有疑問,為什么有的會加include

urlpatterns = [  path('hello/', include(hello.urls))  ]

官方描述:函數 include() 允許引用其它 URLconfs。每當 Django 遇到 :func:~django.urls.include  時,它會截斷與此項匹配的 URL 的部分,并將剩余的字符串發送到 URLconf 以供進一步處理。

實際就是根據你傳的值再一次確認,是不是符合django要求的url配置

使用前要注意引包操作,不然會報:NameError: name 'include' is not defined

from django.conf.urls import include

創建好應用后,啟動項目:python manage.py runserver

(venv) apple:hello_django lifeng$ python manage.py runserver Watching for file changes with StatReloader Performing system checks...  System check identified no issues (0 silenced).  You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. April 04, 2021 - 13:58:13 Django version 3.1.7, using settings 'hello_django.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C.

訪問

http://127.0.0.1:8000/hello/

使用Django怎么編寫一個應用視圖

關于使用Django怎么編寫一個應用視圖就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

同德县| 建瓯市| 兰考县| 宁德市| 哈密市| 连江县| 佛坪县| 沈丘县| 株洲县| 鹤岗市| 卢湾区| 甘谷县| 东台市| 方山县| 穆棱市| 昭觉县| 全南县| 化德县| 大冶市| 夏河县| 什邡市| 北流市| 仁化县| 顺平县| 遵义市| 周口市| 贵溪市| 逊克县| 沧州市| 遵义县| 古交市| 清苑县| 合作市| 团风县| 灵丘县| 岚皋县| 将乐县| 龙江县| 合山市| 元氏县| 竹溪县|