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>

此时运行项目,对应的登录页面如下图
在这里插入图片描述

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