我們在瀏覽器上方輸入的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 serverpython 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協議才能識別回傳的值。