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>

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

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

posted @ 2021-01-16 12:57  大爽歌python编程辅导  阅读(231)  评论(0编辑  收藏  举报