1. 程式人生 > >Django 無名參數與有名參數

Django 無名參數與有名參數

sta import img stat rom spec esp settings 變量

無名參數

配置 urls ,我們需要導入 url 模塊,以()定義一個無名的變量

from django.contrib import admin
from django.urls import path
from blog import views
from django.conf import settings
from django.conf.urls.static import static

from django.conf.urls import url

urlpatterns = [
    path('admin/', admin.site.urls),
    path('userInfo', views.userInfo),
    #path('articles/2003/', views.specila_case_2003),
    #url(r'^articles/[0-9]{4}/$', views.year_archive),
    url(r'^articles/([0-9]{4})/([0-9]{2})$', views.year_archive),
]+ static(settings.STATIC_URL, document_root=settings.STATICFILES_DIRS)

在 views.py 中定義函數, 定義兩個形參 y,m 來接收變量

def year_archive(req, y, m):

    return  HttpResponse(y+" years "+ m + " month")

瀏覽器訪問:http://127.0.0.1:8888/articles/2003/12
技術分享圖片

有名參數

在 urls.py 中定義

    url(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})$', views.year_archive),

# 解析:(?P<year>[0-9]{4})  --> ?P<year> 定義一個有名參數 year,正則匹配的是 [0-9]{4}

在 views.py 中修改,這裏的形參必須寫 urls.py 中所定義的參數名

def year_archive(req, year, month):

    return  HttpResponse(year+" years "+ month + " month")

技術分享圖片

Django 無名參數與有名參數