整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

Django开发网站-10-在Django中使用mo

Django开发网站-10-在Django中使用modelForm类生成表单

网站开发过程中,需要从前端向后端传入数据,由后端对数据进行操作,比如计算、存入数据库等。

从前端向后端传输数据,一般使用form表单。在Django中,有三种方法:

  1. 手写前端html代码,使用form表单:
<form action=’’method=’post’> </form>
  1. Django提供了form类,生成form表单。
  2. Django提供了Modelform类,生成form表单。

Modelform做为Django中集成的组件,主要针对数据库中的某个表操作,通过models.py关联数据库。

本文着重讲modelform的使用,下面正式开始。

首先建立一个forms.py,用来写项目里的表单类。

首先引入几个类

from django import forms #引入forms表单类
from users.models import User #引入models里的User类
from django.core.exceptions import ValidationError #引入异常抛出类

创建User表单类,类继承了forms.ModelForm,password_confirm是密码确认,我们在进行注册的时候,往往会要求确认一次密码。

class Meta:是利用model创建表单的类。model=User,用来实例化models.py中的User类,fields是表单中的字段,也就是表单项目。widgets是一个字典,在这里定义password表单为密码输入格式。

class UserModelForm(forms.ModelForm):
    password_confirm=forms.CharField(label="确认密码",widget=forms.PasswordInput,min_length=6,max_length=20)
    class Meta:
        model=User
        fields=['username','password','password_confirm','gender','role']
        widgets={"password":forms.PasswordInput()}

下面在templates文件夹下建立一个user_add_form.html文件,用来展示表单。

在views.py中增加一个方法user_add_form()方法。该方法需要使用forms.py中的UserModelForm类和models中的User类,在头部引入这两个类,

from users.models import User   #引入models里的User类
from users.forms import UserModelForm #引入forms里的UserModelForm

增加一个user_add_form(request)方法,当前端的request是一个get方法时,实例化UserModelForm(),返回render方法,显示form表单,否则,将request.POST的数据传入UserModelForm类并实例化,

def user_add_form(request):
    if request.method=="GET":
        form=UserModelForm()
    return render(request,"user_add_form.html",{"form":form})

在urls.py中增加一个路由。

在user_add_form.html中写入{{form}},用来展示后端返回的form数据。

下面在浏览中测试一下。

输入127.0.0.1:8000/user_add_form/

右键检查页面源码,发现,字段及输入框已经在页面中。

本文结束。下一篇文章,将对user_add_form.html进行修改,实现表单的输入功能,并通过表单将数据传入后端,并插入数据库。

家好,今天给大家介绍一款,简约时尚登录注册表单炫酷切换动画html页面前端源码(图1),布局合理。送给大家哦,获取方式在本文末尾。

图1

可以在注册和登录界面来回切换,切换动画非常炫酷(图2)

图2

源码完整,需要的朋友可以下载学习(图3)

图3

本源码编码:10208,需要的朋友,访问下面链接后,搜索10208,即可获取。

「链接」

家好,今天给大家介绍一款,紫色风格的登录表单页面设计html页面前端源码(图1)。送给大家哦,获取方式在本文末尾。

图1

带输入验证(图2)

图2

代码完整,需要的朋友可以下载学习

图3

本源码编码:20221,需要的朋友,访问下面链接后,搜索20221,即可获取。

就爱UI - 分享UI设计的点点滴滴