最短時間攻透最完善的Python框架——Django④

Django創建子應用詳解

簡述:同Flask框架一樣,Django也用視圖來編寫Web應用的業務邏輯。

Django的視圖是定義在子應用的views.py中的,下面讓我們一起來了解一下。

1. 創建

打開剛創建的users模塊,在views.py中編寫視圖代碼。

from django.http import HttpResponse
def index(request):
    """
    index視圖
    :param request: 包含了請求信息的請求對象
    :return: 響應對象
    """
    return HttpResponse("hello the world!")

說明:

  • 視圖函數的第一個傳入參數必須定義,用於接收Django構造的包含了請求數據的HttpReqeust對象,通常名爲request
  • 視圖函數的返回值必須爲一個響應對象,不能像Flask框架中一樣直接返回一個字符串,可以將要返回的字符串數據放到一個HTTPResponse對象中。

2.定義應用路由URL

1) 在子應用中新建一個urls.py文件用於保存該應用的路由。

2) 在users/urls.py文件中定義路由信息。

from django.conf.urls import url
from . import views  #同級目錄下用.代替
# urlpatterns是django自動識別的路由列表變量
urlpatterns = [
    # 每個路由信息都需要使用url函數來構造,去註冊路徑
    # url(路徑, 視圖)
    url(r'^index/$', views.index),
]

3) 在工程總路由demo/urls.py中添加子應用的路由(url)數據。

from django.conf.urls import url, include
from django.contrib import admin
urlpatterns = [
    url(r'^admin/', admin.site.urls),  # django默認包含的
    # 添加
    url(r'^users/', include('users.urls')), 
]
  • 使用include將子應用users裏的全部路由包含進工程路由中;
  • r’^users/’ 決定了users子應用的路由以**/users/開頭,如我們剛定義的視圖名稱爲index,其最終的完整訪問路徑爲/users/index/**

include函數除了可以傳遞字符串之外,也可以直接傳遞應用的urls模塊,達到不同目錄下切換的作用,如下所示
在這裏插入圖片描述

from django.conf.urls import url, include
from django.contrib import admin
import users.urls  # 先導入應用的urls模塊
urlpatterns = [
    url(r'^admin/', admin.site.urls),  # django默認包含的
    # url(r'^users/', include('users.urls')),
    url(r'^users/', include(users.urls)),  # 添加應用的路由
]

4) 啓動運行

1.CMD中運行

python manage.py runserver

2.Pycharm中啓動(手動添加runserver)
在這裏插入圖片描述

3.成果演示

在瀏覽器中輸入網址127.0.0.1:8000/users/index/ 可看到返回的信息,如下:
在這裏插入圖片描述
感謝大家的品讀,很希望能夠幫到你們,讓我們共同進步,biubibuibu…

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