django Form表单模块实例(一)

定义forms表单:

from django import forms

class ContactForm(forms.Form):    subject = forms.CharField(max_length=100)    message = forms.CharField(widget=forms.Textarea)    sender = forms.EmailField()    cc_myself = forms.BooleanField(required=False)

定义views视图:

from django.core.mail import send_mail

if form.is_valid():    subject = form.cleaned_data[‘subject‘]    message = form.cleaned_data[‘message‘]    sender = form.cleaned_data[‘sender‘]    cc_myself = form.cleaned_data["cc_myself"]        recipients = [‘[email protected]‘]    if cc_myself:        recipients.append(sender)        send_mail(subject,message,sender,recipients)    return HttpResponseRedirect(‘/thanks/‘)

创建表单模板文件:

<p><label for=‘id_subject‘>Subject:</label>   <input id="id_subject" type="text" name="subject" maxlength="100" /></p><p><label for=‘id_message‘>Message:</label>   <input id="id_message" type="text" name="message" /></p><p><label for=‘id_sender‘>Sender:</label>   <input id="id_sender" type="email" name="sender" " /></p><p><label for=‘id_cc_myself‘>Cc_myself:</label>   <input id="id_cc_myself" type="checkbox" name="id_cc_myself" /></p>

当然,在模板里面也是可以手工渲染字段

{{ form.non_field_errors }}<div class="fieldWrapper">    {{ form.subject.errors }}    <label for="{{ form.subject.id_for_label }}">Email subject:</label>    {{ form.subject }}</div><div class="fieldWrapper">    {{ form.message.errors }}    <label for="{{ form.message.id_for_label }}">Your message:</label>    {{ form.message }}</div><div class="fieldWrapper">    {{ form.sender.errors }}    <label for="{{ form.sender.id_for_label }}">Your email address:</label>    {{ form.sender }}</div><div class="fieldWrapper">    {{ form.cc_myself.errors }}    <label for="{{ form.cc_myself.id_for_label }}">CC yourself?:</label>    {{ form.cc_myself }}</div>
时间: 2024-11-05 02:28:12

django Form表单模块实例(一)的相关文章

LayUi表单模块无法正常显示

问题: 当我们再使用LayUI的Form表单模块时,我们会把自己需要的表单赋值到我们的页面中,但是会出现无法正常显示的问题,如下: 出现原因: LayUI官方文档也明确表示:“当你使用表单时,layui 会对 select.checkbox.radio 等原始元素隐藏,从而进行美化修饰处理.但这需要依赖于 form 组件,所以你必须加载 form.” 所以我们必须加载form模块,才能使它完整地渲染出来. 解决方法: 在你js文件的代码最外层,把需要用到的模块 layui.use 预加载一下,如

Django Form表单

Django  Form 表单 在实际的生产环境中比如登录和验证的时候,我们一般都使用Jquery+ajax来判断用户的输入是否为空,假如JS被禁用的话,咱们这个认证屏障是不是就消失了呢?(虽然一般不会禁用掉但是还是存在风险) 所以我们一般做两种认证一种是前端做一遍认证,在后端做一遍认证. 首先咱们看一下下面的案例: from django.shortcuts import render # Create your views here. def user_list(request): host

python django Form表单

Django 拥有自己独立的表单功能块,可以完成: 1.表单的定义 2.表单的校验 3.表单的前端样式 等功能,方便我们开发,那么接下来,我们看一下表单的定义 首先我们确定我们要编写的功能,一个提供给博客的访客发送自己的联系方式的功能.并且搭建相对应的数据库 1 from django.db import models 2 3 class Connection(models.Model): 4 con_name = models.CharField(max_length = 32,verbose

Django form表单的数据加载问题

今天在项目中遇到一个问题,有个django增删改查的模板页面,其中的编辑页面使用自定的form来构建的显示内容. 表单的数据时从数据库中查询出来展示的,当修改数据库的内容后,form的展示的信息并没有修改.当重启后,form的数据重新加载. 查了许多资料,都没有对form表单数据的加载时间的解答. 从现象来看,form的数据的加载时在服务启动时,就加载了.代码如下: view.py def testform(req):     form = testForms.testForm()     pr

Python自动化运维系列之Django Form表单验证

Form表单验证 Django核心功能组件之一,虽然也可以在前端使用JS对表单验证, 但是Django中已经为我们准备好的Form功能还算是很强大的,有时候比较适合运维,为我们简化了很多前端开发工作. Django最主要的几个功能有4个     ·  生成HTML标签     ·  验证数据(表单错误信息提示)     ·  HTML 表单保留上次提交数据     ·  初始化页面表单内容 Django的Form内容还是挺多的,我们可以从一个简单的登陆验证例子来看看Form的基本功能使用 1)新

django form表单组建使用及CBV模式

一.FBV和CBV FBV:是视图函数以函数的方式写逻辑代码 CBV:是视图以类的方式写逻辑代码 如CBV: views.py from django.shortcuts import render,HttpResponse,redirect from django.views import View from django.views.decorators.csrf import csrf_exempt,csrf_protect from django.utils.decorators imp

Django Form 表单(上)

我们已经知道了在Django里面如何从前端向后台发送数据的基本操作.( http://beanxyz.blog.51cto.com/5570417/1944978 )在之前的例子里面,我们的HTML模板里面的form表单都是手动创建的,对于提交的数据类型格式也需要自己写正则表达式进行确认.(例如AJAX的例子http://beanxyz.blog.51cto.com/5570417/1951021  ) 如果表单很多的话,手动处理这些东西会很费时间.Django提供了一个form的功能,可以根据

Django Form表单基础

平时我们写表单要自己写样式,比如我们要写一个注册样式,有如下填写项: 实现代码如下: views.py文件 #!/usr/bin/env python #-*-conding:utf-8:-*- from django.shortcuts import render from django import forms # Create your views here. def user_list(request):     host = request.POST.get('host')     p

6月28日 Django form表单

Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否输入,输入的长度和格式等正不正确.如果用户输入的内容有错误就需要在页面上相应的位置显示对应的错误信息.. Django form组件就实现了上面所述的功能. 总结一下,其实form组件的主要功能如下: 生成页面可用的HTML标签 对用户提交的数据进行校验 保留上次输入内容 普通的登录 views.p