Django笔记&教程 6-1 表单(Form)介绍

Django 自学笔记兼学习教程第6章第1节——表单(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> <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>

此时运行项目,对应的登录页面如下图

Django笔记&教程 6-1 表单(Form)介绍

这里只做了一个基础的示例,具体语法我们在本章后面的小节中去讲

上一篇:contentProvider-联系人的CURD


下一篇:命令模式 Command 行为型 设计模式(十八)