HTML 表單


創建一個簡單的 Django 項目 app01 用來接受 form 表單的數據
# 先切換到要保存項目的目錄中,這里 django-admin.py 需要根據自己安裝目錄填寫 
python  D:\Python3.5\Lib\site-packages\django\bin\django-admin.py startproject app01

修改 templates 配置,在 settings.py 修改
        'DIRS': [os.path.join(BASE_DIR, 'templates/').replace('\\', '/')],


在 manage.py 同級創建文件夾 templates,並在該目錄下創建 index.html,內容如下:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>hello worlds</h1>
<form action="/klvchen/" method="get">
    <p>用戶名: <input type="text" name="username"></p>
    <p>密碼:<input type="password" name="passwd"></p>

    <p>性別: 男: <input type="radio" name="sex" value="0"></p>
    <p>      女: <input type="radio" name="sex" value="1"></p>

    <p>愛好: 乒乓球 <input type="checkbox" name="hobby" value="pingong"></p>
    <p>      羽毛球 <input type="checkbox" name="hobby" value="yumaoqiu"></p>

    <p><input type="submit" value="submit"></p>

</form>
</body>
</html>

創建 views.py 用於處理請求,內容如下:
from django.shortcuts import render

def klvchen(req):
    print("前端數據: ", req.GET)

    return render(req, "index.html")

修改 urls.py 添加路由配置
from django.contrib import admin
from django.urls import path
from app01 import views

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

打開 PyCharm 的 Terminal 使用 runserver 命令啟動 web 服務
cd F:\python_script\Djiango\app01 
python manage.py runserver 8090


瀏覽器訪問 http://127.0.0.1:8090/klvchen/

填入信息,點擊 "submit"

提交后可以在瀏覽器上看到提交的參數


http://127.0.0.1:8090/klvchen/?username=klvchen&passwd=123456&sex=0&hobby=pingong&hobby=yumaoqiu

同時在 PyCharm 上也看到控制台輸出的提交信息


以 POST 方式提交表單數據

修改 index.html 內容,把 method 方式由 get 修改成 post

<form action="/klvchen/" method="post">

修改 views.py

from django.shortcuts import render

def klvchen(req):
    print("前端數據: ", req.POST)

    return render(req, "index.html")

因為涉及到安全問題,修改 settings.py 注銷掉下面這段

    #'django.middleware.csrf.CsrfViewMiddleware',

重新訪問,提交表單


method: 表單的提交方式有兩種: post/get ,默認取值為 get,它們的區別為
get: 1.提交的鍵值對.放在地址欄中url后面. 2.安全性相對較差. 3.對提交內容的長度有限制.
post: 1.提交的鍵值對 不在地址欄. 2.安全性相對較高. 3.對提交內容的長度理論上無限制.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM