Django - GET 方法

本節將使用兩種Get方式,在網頁上做加減法
第一種Get方式是:/add_m1/?a=3&b=4
第二種Get方式是:/add_m2/3/4/

創建一個DemoGet專案

django-admin startproject demoget
cd demoget
python manage.py startapp calc
自動產生的目錄結構
demoget/
├── calc
│   ├── __init__.py
│   ├── admin.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── manage.py
└── demoget
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

定義在此專案中新增了一個應用 APP

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
 
    'calc',
]

採用/add_m1/?a=3&b=4 這樣GET方法進行

修改calc/views.py文件
from django.shortcuts import render
from django.http import HttpResponse
 
def add_m1(request):
    a = request.GET['a']
    b = request.GET['b']
    c = int(a)+int(b)
    return HttpResponse(str(c))
request.GET類似於一個字典,更好的辦法是用request.GET.get(‘a’, 0)當沒有傳遞a的時候默認a為0
from django.conf.urls import url
from django.contrib import admin
from calc import views as calc_views
 
 
urlpatterns = [
    url(r'^add_m1/$', calc_views.add_m1, name='add_m1'),  # 注意修改了這一行
    url(r'^admin/', admin.site.urls),
]

運行

python manage.py runserver
開起瀏覽器,輸入網址 http://127.0.0.1:8000/add_m1/
將會看到,如下方的錯誤訊息:
這是因為我們並沒有傳值進去,我們在後面加上?a=3&b=4,即訪問 http://127.0.0.1:8000/add/?a=3&b=4 則會看到相加的結果 7。

採用/add_m2/3/4/這樣的網址的方式

修改 calc/views.py文件,再新定義一個 add_m2 函數
def add_m2(request, a, b):
    c = int(a) + int(b)
    return HttpResponse(str(c))
接著修改 urls.py文件,再添加一個新的url
 url(r'^add_m2/(\d+)/(\d+)/$', calc_views.add_m2, name='add_m2'),
瀏覽器,輸入網址 http://127.0.0.1:8000/add/3/4 ,則會看到相加的結果 7。

這個網誌中的熱門文章

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

最新入門零基礎 Java 教學【從零開始學 Java 程式設計】Java教學課程目錄 (IntelliJ IDEA 開發教學)

Android Studio 歷代版本下載點

nano 文字編輯器

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)