iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
Modern Web

Django新手指南系列 第 9

那~有什麼問題? 穩~妥啦! 實作APP 江狗(Django) 鐵人Day09

  • 分享至 

  • xImage
  •  

第一步撰寫路由表

我們在瀏覽器上方輸入的url路徑會向伺服器發送請求,透過內部轉發來尋找請求中對應的Views視圖。這部分會寫在伺服器的路由表當中,通常會放在urls.py內。
:::info
除了專案預設好的urls.py之外,也可以在APP資料夾內新增一個urls.py的檔案來存放需要的Views視圖,但須要在APP的urls.py內到導入專案資料夾內的urls.py路徑進來,
這裡就稍微有些複雜了。~(搞懂它花了不少時間)~
:::
使用專案預設的urls.py來添加我們要的路徑讓瀏覽器輸入的url能順利指引到對應的Views視圖。

在專案設定目錄下的urls.py裡添加:

<urls.py>

#from <應用程式名稱> import views
from job import views

#在urlpatterns裡面添加
path('index/', views.index)

在APP目錄下的views.py裡添加:

<views.py>

from django.shortcuts import HttpResponse

#HttpResponse('這裡面可以填文字、字串或數字,輸出會變字串格式')
def index(request):
    return HttpResponse('Hello HttpResponse !')

最後一步,啟動Django server
python manage.py runserver 127.0.0.1:8000

到瀏覽器輸入127.0.0.1:8000/index

第一支app就這樣完成啦!
底下附上完整的程式碼,如過沒有試成功可以參考看看,先這樣大家掰掰~

專案程式碼

<urls.py> (路徑:Project/Project/urls.py)

"""Project URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""

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

#添加這行指令
from job import views   # 創建app中的views文件


urlpatterns = [
    path('admin/', admin.site.urls),

    #添加這行指令
    path('index/', views.index)  #增加/index路徑
                       
]

<views.py> (路徑:Project/job/views.py)

from django.shortcuts import render


#添加這行指令
from django.shortcuts import HttpResponse  # 載入HttpResponse


# Create your views here.


#添加這行指令
def index(request): #第一個參數固定用request,request封裝了所有的用戶請求。
    return HttpResponse('Hello HttpResponse !') #無法直接return String字串 需使用HttpResponse包裝,Http協議才能識別回傳的值。

上一篇
我們行不行? 絕對沒問題! 建立&介紹APP 江狗(Django) 鐵人Day08
下一篇
危機(維基)就是轉機 資料庫建立 江狗(Django) 鐵人Day10
系列文
Django新手指南30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言