Django-forms组件

django-forms组件

一.forms的作用

  • 前端和后端都要校验
  • 前端校验的目的:减少后台代码连接数据库的压力

用forms可以同时完成前端和后端同时校验且减少代码量

二.forms的基本使用:

1.定义数据的时候导入from类

2.字段通过fields进行导入

3.演示

views.py


from django.forms import Form
from django.forms import fields
class LoginForm(Form):
    ### 全部都是验证的规则
    username = fields.CharField(
        required=True,  ### 不能为空
        max_length=18,  ### 最大的长度是18
        min_length=6,   ### 最小的长度是6
        error_messages = {  ### 对英文进行重写
            "required" : "不能为空",
            "max_length":"太长了",
            "min_length":"太短了",
        }
    )

    pwd = fields.CharField()

推荐Python大牛在线分享技术 扣qun:855408893

领域:web开发,爬虫,数据分析,数据挖掘,人工智能

零基础到项目实战,7天学习上手做项目

4.方法中对于传参进行定义

views.py

def login(request):
    if request.method == 'GET':
        return render(request, "login.html")
    else:
        # username = request.POST.get('username')
        # pwd = request.POST.get('pwd')
        obj = LoginForm(request.POST) ## {"username":'xx', 'pwd':'xx'}
        if obj.is_valid():
            print(obj.cleaned_data) ## 对象
            else:
                print(obj.errors) ### 对象 __str__

                return render(request, "login.html", {'obj':obj})

5.html中对于返回值进行渲染

login.html

渲染方式一:

<form action="/login/" method="post">
    username: <input type="text" name="username">{
  { obj.errors.username.0 }}<br>
    password: <input type="password" name="pwd">{
  { obj.errors.pwd.0 }}<br>
    <input type="submit"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值