Django自學筆記 5-1 表單(Form)介紹

————總目錄——前言——框架版本————

======================= 大爽歌作,made by big shuang =======================

一、表單(Form)介紹

1 介紹

如果網站要讓用戶輸入並提交數據(比如註冊登錄),則需要用到表單。
單純的html也能寫出表單,格式一般是<form>...</form>
Django實現了功能更強大的表單(django.forms.Form),讓開發者能夠更高效的開發。

2 代碼示例

這裏我們以一個最簡單的登錄表單爲例(不做是否註冊的檢查)

在應用文件夾my_app下新建forms.py,代碼如下

#usr/bin/env python
#-*- coding:utf-8- -*-
from django import forms

class LoginForm(forms.Form):
    uid = forms.CharField(label='ID', max_length=10)
    password = forms.CharField(label='password', max_length=30, widget=forms.PasswordInput)

視圖代碼views.py 如下

#usr/bin/env python
#-*- coding:utf-8- -*-
from django.shortcuts import render
from django.http.response import HttpResponse
from my_app.forms import LoginForm


def page(request):
    if request.method == 'POST':
        form = LoginForm(data=request.POST)
        if form.is_valid():
            uid = form.cleaned_data["uid"]
            return HttpResponse(uid)
    else:
        form = LoginForm()
    return render(request, 'login.html', {'form': form})

login.html如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>
        Login
    </title>
</head>
<body>
	<div>Log in</div>
    <div>
        <form method="post">
            {% csrf_token %}
            {{form.as_p}}
            <p><input type="submit" value="Log in"/></p>
            </form>
    </div>
</body>
</html>

此時運行項目,對應的登錄頁面如下圖
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章