form

Django之Form进阶

烈酒焚心 提交于 2020-01-18 03:22:22
s6day76 内容回顾: Form组件: - 类 继承Form - 字段 字段 - 实例化 - is_valid() - cleaned_data - errors Form 组件: class TeacherForm(Form): username = fields.CharField( required=True, error_messages={'required':'用户名不能为空'}, widget=widgets.TextInput(attrs={'placeholder':'用户名','class':'form-control'}) ) # 不能为空 password = fields.CharField(required=True,error_messages={'required':'密码不能为空'}, widget=widgets.TextInput(attrs={'placeholder':'密码','class':'form-control'})) # 不能为空 email = fields.EmailField(required=True,error_messages={'required':'邮箱不能为空','invalid':'邮箱格式错误'},widget=widgets.EmailInput(attrs={'placeholder':'邮箱',

Django之Form组件

时间秒杀一切 提交于 2020-01-18 02:14:00
Django之Form组件 本节内容 基本使用 form中字段和插件 自定义验证规则 动态加载数据到form中 1. 基本使用 django中的Form组件有以下几个功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 要使用form类,首先需要创建这个类,方法如下: from django.forms import Form from django.forms import widgets # 插件 from django.forms import fields # 字段 class MyForm(Form): # 继承自Form类 user = fields.CharField( widget=widgets.TextInput(attrs={'id': 'i1', 'class': 'c1'}) # 定义生成的html标签类型是input的text框,attrs={'id': 'i1', 'class': 'c1'}代表在这个标签中添加属性ID为i1,添加class为c1 ) gender = fields.ChoiceField( choices=((1, '男'), (2, '女'),), # 定义下拉框的选项,元祖第一个值为option的value值,后面为html里面的值 initial=2, #

Java异常处理

不问归期 提交于 2020-01-18 00:42:04
六种异常处理的陋习 你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? 1 OutputStreamWriter out = ... 2 java.sql.Connection conn = ... 3 try { // ⑸ 4  Statement stat = conn.createStatement(); 5  ResultSet rs = stat.executeQuery( 6   "select uid, name from user"); 7  while (rs.next()) 8  { 9   out.println("ID:" + rs.getString("uid") // ⑹ 10    ",姓名:" + rs.getString("name")); 11  } 12  conn.close(); // ⑶ 13  out.close(); 14 } 15 catch(Exception ex) // ⑵ 16 { 17  ex.printStackTrace(); //⑴,⑷ 18 }   作为一个Java程序员,你至少应该能够找出两个问题。但是,如果你不能找出全部六个问题,请继续阅读本文。   本文讨论的不是Java异常处理的一般性原则,因为这些原则已经被大多数人熟知

thinkphp论坛项目开发

£可爱£侵袭症+ 提交于 2020-01-17 14:42:35
效果图 首先是数据库 /* Navicat MySQL Data Transfer Source Server : xm Source Server Version : 50553 Source Host : localhost:3306 Source Database : test Target Server Type : MYSQL Target Server Version : 50553 File Encoding : 65001 Date: 2019-01-17 15:00:23 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for test_topic -- ---------------------------- DROP TABLE IF EXISTS `test_topic`; CREATE TABLE `test_topic` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `content` text NOT NULL, `user_id` int(11) NOT NULL, `created_at` int(11) NOT NULL, `is

XSS代码对不同浏览器的支持与特性(详细版含测试效果)-HTML5特性向量

有些话、适合烂在心里 提交于 2020-01-17 12:59:51
HTML5特性向量 通过formaction进行XSS-需要用户交互(1) 一个显示HTML5表单和formaction功能的向量,用于在实际表单之外进行表单劫持。 1 <form id="test"></form><button form="test" formaction="javascript:alert(1)">X</button> 适用浏览器与版本 测试效果 通过自动对焦自动执行焦点事件 此向量使用具有自动聚焦的输入元素来调用其自己的聚焦事件处理程序-无需用户交互 1 <input onfocus=write(1) autofocus> 适用浏览器与版本 测试效果 通过自动对焦竞赛 自动执行模糊事件 在这里,我们有两个HTML输入元素争夺焦点-一个正在执行JavaScript以失去焦点 1 <input onblur=write(1) autofocus><input autofocus> 适用浏览器与版本 测试效果 通过<VIDEO>poster属性执行JavaScript Opera 10.5+允许将发帖者属性与javascript:URI结合使用。 此错误已在Opera 11中修复。 1 <video poster=javascript:alert(1)//></video> 测试效果 无法测试 适用浏览器与版本 通过<BODY>onscroll

Django之强大的Form功能

时间秒杀一切 提交于 2020-01-17 11:12:53
转载: http://www.cnblogs.com/0820-zq/p/5807980.html Form Form的验证思路 前端:form表单 后台:创建form类,当请求到来时,先匹配,匹配出正确和错误信息。 Django的Form验证 实例 : 创建project,进行基础配置文件配置 settings.py settings.py之csrf注销 __init__.py urls.py views.account.py: from django.shortcuts import render,HttpResponse from app01.forms import Form1 def form1(request): if request.method=="POST": #这里POST一定要大写 #通常获取请求信息 #request.POST.get("user",None) #request.POST.get("pwd",None) #获取请求内容,做验证 f = Form1(request.POST) #request.POST:将接收到的数据通过Form1验证 if f.is_valid(): #验证请求的内容和Form1里面的是否验证通过。通过是True,否则False。 print(f.cleaned_data) #cleaned_data类型是字典

Django实现用户密码重置

强颜欢笑 提交于 2020-01-17 05:34:40
使用Django内置的认证视图实现简单的通过邮箱重置密码的功能 版本:django 1.11 在django.contrib.auth.views中提供了四个类视图用于密码重置 class PasswordResetView URL name: password_reset  #要保持相同 通过给邮箱发送重置密码的链接进行密码重置.注意如果邮箱不存在,不会发送邮件但也不会有错误提示! 属性: template_name:指定重置密码页面的模板名称(输入邮箱页面),默认为'registration/password_reset_form.html' form_class:指定对邮箱进行验证的Form,默认为'PasswordResetForm',如果要实现'邮箱未注册'的提示,可以重写该Form的clean()方法. email_template_name:邮件内容的模板,默认为'registration/password_reset_email.html'. subject_template_name:邮件主题的模板,默认'registration/password_reset_subject.txt'. success_url:邮件发送成功(或邮箱未注册)后重定向的URL. form_email: 发送邮件的地址.默认使用DEFAULT_FORM_EMAIL

HTTP POST GET 本质区别详解

泪湿孤枕 提交于 2020-01-17 01:57:54
一 原理区别 一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交 Http定义了与服务器交互的不同方法,最基本的方法有4种,分别��?SPAN style="COLOR: #ff0000"> GET,POST,PUT,DELETE URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的 ��?/SPAN> ��?SPAN style="COLOR: #ff6600">��?/SPAN> ��?SPAN style="COLOR: #ff6600">��?/SPAN> ��?SPAN style="COLOR: #ff6600">��?/SPAN> 4个操作。到这里,大家应该有个大概的了解了,GET一般用��?SPAN style="COLOR: #ff6600">获取/查询 资源信息,而POST一般用��?SPAN style="COLOR: #ff6600">更新 资源信息( 个人认为这是GET和POST的本质区别,也是协议设计者的本意,其它区别都是具体表现形式的差异 )��?    根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的 ��?/P>   1

springmvc+jquery fileupload实现异步文件上传

╄→гoц情女王★ 提交于 2020-01-17 00:06:28
spring-servlet.xml <!-- spring mvc实现上传需添加该操作类 依赖包 commons-fileupload-1.2.2.jar commons-io-2.0.1.jar --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 指定所上传文件的总大小不能超过5000KB。注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 --> <property name="maxUploadSize" value="52428800"/> <property name="maxInMemorySize"> <value>2048</value> </property> </bean> <!-- SpringMVC在超出上传文件限制时,会抛出org.springframework.web.multipart.MaxUploadSizeExceededException --> <!-- 该异常是SpringMVC在检查上传的文件信息时抛出来的,而且此时还没有进入到Controller方法中 --> <bean id="exceptionResolver" class=

PHP实现登录,注册,密码修改

╄→尐↘猪︶ㄣ 提交于 2020-01-16 22:16:57
注册,登录,修改密码 1.登录 2.忘记密码 3.免费注册 页面布局 <div id="views" class="views"> <div id="view-login" class="page-view view-login active"> <present name="wxuser"> <div id="wxuser" class="form-group text-center"> <div> <img src="{sh:$wxuser.headimgurl}"> </div> <h4 class="nickname">{sh:$wxuser.nickname}</h4> </div> </present> <!--登录--> <div id="login" class="step"> <h4 class="popup-title login">登录</h4> <div class="go-forget">忘记密码</div> <form class="form-horizontal" role="form" type="get"> <div class="form-group"> <label>手机号码</label> <input type="tel" name="tel" class="form-item" id="tel_num" placeholder=