1. from django.shortcuts import render
  2. from django.shortcuts import HttpResponse
  3. import os
  4.  
  5. # Create your views here.
  6. error_msg = ''
  7. def register(request):
  8. if request.method == 'POST':
  9. username = request.POST.get('username')
  10. passwd = request.POST.get('passwd')
  11. email = request.POST.get('email')
  12. tel = request.POST.get('tel')
  13. photo = request.FILES.get('file')
  14. uploadfile = os.path.join('upload',photo.name)
  15. with open(uploadfile,'wb') as fileobj:
  16. for chunk in photo.chunks():
  17. fileobj.write(chunk)
  18. if username == None or passwd == None or email == None or tel == None:
  19. error_msg = '不能为空,请重新输入!'
  20. return render(request, 'regist/register.html', {'error_msg': error_msg})
  21. else:
  22. print('准备输入mysql')
  23. return HttpResponse('注册成功')
  24. elif request.method == 'GET':
  25. return render(request,'regist/register.html',{'error_msg': ''})

  

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>用户注册</title>
  6. </head>
  7. <body>
  8. <div id="t2" class="header-r">
  9. <form name="register_form" id="register_form" action="/regist/" method="post" enctype="multipart/form-data">
  10. <h4>输入账户信息</h4>
  11. <input type="text" id="username" name="username" placeholder="用户名"/>
  12. <input type="password" id="passwd" name="passwd" placeholder="密码"/>
  13. <input type="text" id="email" name="email" placeholder="邮箱"/>
  14. <input type="text" id="tel" name="tel" placeholder="电话"/>
  15. <input type="file" id="file" name="file"/>
  16. <!--<input type="button" value="login" />-->
  17. <input type="submit" value="确定注册" />
  18. <p style="color: red">{{ error_msg }}</p>
  19. </form>
  20. <p style="color: red">{{ error_msg }}</p>
  21.  
  22. </div>
  23. </body>
  24. </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. DBExecutor android 数据库框架

    https://github.com/eltld/DBExecutor android 数据库框架,sqlite database

  2. Apache Qpid Broker的安全机制

    一.     Apache Qpid的安全机制简介 Apache Qpid提供多种安全机制,包括用户认证.规则定制的授权.消息加密和数字签名等.Apache Qpid使用SASL框架实现对用户身份的认 ...

  3. Cocos2d-js异步图片加载

    这里说的是在需要的使用加载图片,比如游戏中的某个关卡的图片,不用在游戏一开始就加载(万一用户玩不到那关,岂不是很冤,流量费了那么多),否则 载入速度也慢.这种方式加载资源要用到cc.loader官方文 ...

  4. UI标签库专题三:JEECG智能开发平台 FormValidation(表单提交及验证标签)

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/28484209  自己定义弹出框提示 ...

  5. HDU 6122 今夕何夕 【数学公式】 (2017"百度之星"程序设计大赛 - 初赛(A))

    今夕何夕 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. NSString类的方法实现

    创建一个新字符串并将其设置为 path 指定的文件的内容,使用字符编码enc,在error上返回错误 + (id)stringWithContentsOfURL:(NSURL *)url encodi ...

  7. oracle问题系列 : ORA-02290: 违反检查约束条件

    报错如下: ### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: ORA-022 ...

  8. POJ3258 River Hopscotch —— 二分

    题目链接:http://poj.org/problem?id=3258 River Hopscotch Time Limit: 2000MS   Memory Limit: 65536K Total ...

  9. jLim - 紧凑的 JavaScript 框架

    1. [代码][JavaScript]代码     /*! * jLim Core * * jLim is a small JavaScript base code. It can be used t ...

  10. STL Algorithms 之 unique

    C++的文档中说,STL中的unique是类似于这样实现的: template <class ForwardIterator> ForwardIterator unique ( Forwa ...