from django.shortcuts import render
from django.shortcuts import HttpResponse
import os # Create your views here.
error_msg = ''
def register(request):
if request.method == 'POST':
username = request.POST.get('username')
passwd = request.POST.get('passwd')
email = request.POST.get('email')
tel = request.POST.get('tel')
photo = request.FILES.get('file')
uploadfile = os.path.join('upload',photo.name)
with open(uploadfile,'wb') as fileobj:
for chunk in photo.chunks():
fileobj.write(chunk)
if username == None or passwd == None or email == None or tel == None:
error_msg = '不能为空,请重新输入!'
return render(request, 'regist/register.html', {'error_msg': error_msg})
else:
print('准备输入mysql')
return HttpResponse('注册成功')
elif request.method == 'GET':
return render(request,'regist/register.html',{'error_msg': ''})

  

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>用户注册</title>
</head>
<body>
<div id="t2" class="header-r">
<form name="register_form" id="register_form" action="/regist/" method="post" enctype="multipart/form-data">
<h4>输入账户信息</h4>
<input type="text" id="username" name="username" placeholder="用户名"/>
<input type="password" id="passwd" name="passwd" placeholder="密码"/>
<input type="text" id="email" name="email" placeholder="邮箱"/>
<input type="text" id="tel" name="tel" placeholder="电话"/>
<input type="file" id="file" name="file"/>
<!--<input type="button" value="login" />-->
<input type="submit" value="确定注册" />
<p style="color: red">{{ error_msg }}</p>
</form>
<p style="color: red">{{ error_msg }}</p> </div>
</body>
</html>

  

urls.py会传给views.fun 一个request变量,包含所有http参数。

request.method 包括get和post,post里,fun可以获取表单传过来的参数,然后进行orm操作。

表单还可以传文件到服务端,不过表单里要写enctype="multipart/form-data",在服务端指定存到路径。

另外,如果表单里有checkbox这种多选的input类型,在后台收到的就是一个list,需要用list = request.POST.getlist.

django接受表单的更多相关文章

  1. python运维开发(十九)----Django后台表单验证、session、cookie、model操作

    内容目录: Django后台表单验证 CSRF加密传输 session.cookie model数据库操作 Django后台Form表单验证 Django中Form一般有2种功能: 1.用于做用户提交 ...

  2. django form表单验证

    一. django form表单验证引入 有时时候我们需要使用get,post,put等方式在前台HTML页面提交一些数据到后台处理例 ; <!DOCTYPE html> <html ...

  3. django from表单验证

    django from表单验证   实现:表单验证 工程示例: urls.py 1 2 3 4 5 6 7 8 9 from django.conf.urls import url from djan ...

  4. Struts2(接受表单参数)请求数据自动封装和数据类型转换

    Struts2请求数据自动封装: (1)实现原理:参数拦截器 (2)方式1:jsp表单数据填充到action中的属性:        普通的成员变量,必须给set,get可以不给的.    注意点,A ...

  5. django Form表单的使用

    Form django表单系统中,所有的表单类都作为django.forms.Form的子类创建,包括ModelForm 关于django的表单系统,主要分两种 基于django.forms.Form ...

  6. Django(5) session登录注销、csrf及中间件自定义、django Form表单验证(非常好用)

    一.Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie 1.数据库Session 1 2 3 4 5 ...

  7. django创建表单以及表单数据类型和属性

    08.15自我总结 关于django的表单不同关系之间的创建 一.不同关系之间的创建 1.一对一 举例 母表:userinfo id name age 1 张三 12 2 李四 58 字表:priva ...

  8. Django form表单 组件

    目录 Django form表单 组件 Form 组件介绍 普通方式手写注册功能 使用form组件实现注册功能 Form 常用字段与插件 常用字段(必备) 字段参数(必备) 内置验证(必备) 自定义效 ...

  9. 关于django post表单

    CSRF verification failed. Request aborted. 默认会出现该状况,解决办法: 1. 使用requestcontext from django.template i ...

随机推荐

  1. ViewPagerIndicator 取代TabHost,实现滑动tab,引导页等效果

    https://github.com/eltld/ViewPagerIndicator 取代TabHost,实现滑动tab,引导页等效果

  2. 基本SCTP套接字编程常用函数

    sctp_bindx函数:允许SCTP套接字捆绑一个特定地址子集 #include <netinet/sctp.h> // 若成功返回0,出错返回-1 int sctp_bindx(int ...

  3. Devices下设备的进程显示为问号的问题

     adb shell getprop ro.debuggable      返回  ro.debuggable=0     说明这个机子的版本不是userdebug版本,是user版本     只有这 ...

  4. Spring Boot 动态数据源(多数据源自己主动切换)

    本文实现案例场景: 某系统除了须要从自己的主要数据库上读取和管理数据外.另一部分业务涉及到其它多个数据库,要求能够在不论什么方法上能够灵活指定详细要操作的数据库. 为了在开发中以最简单的方法使用,本文 ...

  5. 基于第三方微信授权登录的iOS代码分析

    本文转载至 http://www.cocoachina.com/ios/20140922/9715.html 微信已经深入到每一个APP的缝隙,最常用的莫过分享和登录了,接下来就以代码的形式来展开微信 ...

  6. zTree async 动态参数处理

    async:{ enable: true,//开启异步机制 url: opts.url,//异步地址 otherParam: {  'plateNo': function(){ return $('# ...

  7. SLG, 菱形格子的算法.(递归版

    class GeoPoint{ public: int x; int y; public: bool operator == (const GeoPoint& p){ return p.x = ...

  8. mysql 发生系统错误1067

    一般是由配置文件错误语法不正确引起的,如my.ini本人在mysql mysql-5.6.29-winx64 配置过程中遇到“发生系统错误1067”主要由于下面两个目录写的格式不正确引起的正确写法如下 ...

  9. Delphi服务端和PHP客户端通过Socket通信

    在开始之前看下效果 PHP页面作为客户端发送请求给作为服务端的Delphi应用程序 PHP客户端页面打开如下 Delphi服务端应用程序打开如下 每次PHP页面刷新一下,Delphi的文本框都显示&q ...

  10. ie8的圆角问题

    pie.js的引用 1.在你的网页加载 PIE.js 脚本. 注意,用IE专用的注释,防止非IE浏览器下载. <!--[if lt IE 10]> <script type=&quo ...