人性化的Form(django)

django中的Form一般有两种功能:

  • 输入html
  • 验证用户输入

html:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">

</head>
<body>
<h1>原生的html</h1>
<form action="/web/register/" method="POST">
    用户名:<input name="username" placeholder="username"/>
    <br/>
    密码:<input name="password" placeholder="password"/>
    <br/>
    <input type="submit" value="提交"/>
</form>

<h1>form的html</h1>
<form action="" method="POST">
    用户名:{{ data.username }}
    <br/>
    密码:{{ data.email }}
    <br/>
    IP:{{ data.ip }}
    <br/>
    <input type="submit" value="提交"/>     
</form> </body> </html>

一个form页面:

from django import forms

class alogin(forms.Form):
    username = forms.CharField()
    email = forms.EmailField(required=True)
    ip = forms.GenericIPAddressField()

  

views:

def index(request):
    obj = forms.alogin()

    if request.method == 'POST':
        checkform = forms.alogin(request.POST)#此时的request.POST就是一个字典
        checkresult = checkform.is_valid()#判断是否是正确类型
        print checkresult

    return render_to_response('app03/index.html', {'data': obj})

返回错误信息的views:

 if request.method == 'POST':
        checkform = forms.alogin(request.POST)
        checkresult = checkform.is_valid()
        if checkresult:
            print '通过验证'
        else:
            errorinfo = checkform.errors
            #print errorinfo

    return render_to_response('app03/index.html', {'data': obj,'error':errorinfo})

具体参考:http://www.cnblogs.com/wupeiqi/articles/5246483.html

原文地址:https://www.cnblogs.com/bill2014/p/6972528.html