向Django提交表单

Python的django框架,做了一个前端页面,其中有一向要求提交表单,暂且总结一下流程,有不对的地方请指正:

1、在HTML页面写表单:

<form enctype="multipart/form-data" method="POST" action="{% url ‘upload‘ %}">

{% csrf_token %}
<input type="file" name="your_file"/>
<button type="submit" >Submit</button>
</form>

其中enctype="multipart/form-data"是必须的,来确保匿名上载文件的正确编码(表单中enctype="multipart/form-data"的意思,是设置表单的MIME编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form-data,才能完整的传递文件数据,进行下面的操作. 
enctype="multipart/form-data"是上传二进制数据; form里面的input的值以2进制的方式传过去),而action="{% url ‘upload‘ %}"指的是向后台某个位置提交表单数据,{% csrf_token %}时必须的,否则会出现提交表格返回403错误: CSRF verification failed. Request aborted。

2、在django框架里应用程序中的urls.py中添加代码,保证页面能找到:

url(r‘^upload/$‘, views.upload, name=‘upload‘),

其中第一个变量是一个正则表达式,第二个是对于提交到该页面的处理函数

3、在django框架里应用程序中的views.py中添加upload函数,即第二部分中的views.upload,用来处理提交的表单:

def upload(request):

return ...

至此,表单功能基本实现。

时间: 2024-11-01 20:41:52

向Django提交表单的相关文章

16.Django提交表单

Django表单提交一共有三种方式: 1.不使用Django组件进行提交 2.使用django.forms.Form(所有表单类的父类)进行提交 3.使用django.forms.ModelForm(可以和模型绑定的Form)进行提交 这里的例子是,给Publisher这个表里添加数据,表结构如下: class Publisher(models.Model): name = models.CharField("名称",max_length=30) address = models.Ch

搭建简单Django服务并通过HttpRequester实现GET/POST请求提交表单

调试Django框架写的服务时,需要模拟客户端发送POST请求,然而浏览器只能模拟简单的GET请求(将参数写在url内),网上搜索得到了HttpRequester这一firefox插件,完美的实现了模拟POST提交表单的需求,这里记录一下简单Django服务的搭建.以及使用HttpRequester对应进行GET/POST请求操作的流程. 1,搭建Django服务 1.1 搭建简单服务 搭建一个简单的Django服务很容易,只需要一行命令即可创建一个可运行的Django服务,若未安装Django

Django Form表单

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

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

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

django1.11如何用post方法提交表单

django为了帮助应对跨站脚本攻击,在以POST方法提交表单时,要求将其内置的CSRF中间件添加到setting.py的中间件设置中(django.middleware.csrf.CsrfViewMiddleware,默认已添加),并且在<form>标签后添加{% csrf_token %},即表单元素变为: <form action="" method="post">{% csrf_token %} 同时,表单提交对应的视图函数也要调用R

六、Django之表单和类视图-Part 4

一.表单form 为了接收用户的投票选择,我们需要在前端页面显示一个投票界面.让我们重写先前的polls/detail.html文件,代码如下: <h1>{{ question.question_text }}</h1> {% if error_message %}<p><strong>{{ error_message }}</strong></p>{% endif %} <form action="{% url 'p

Django之七表单

前言 从Google的简朴的单个搜索框,到常见的Blog评论提交表单,再到复杂的自定义数据输入接口,HTML表单一直是交互性网站的支柱. 本节介绍如何用Django对用户通过表单提交的数据进行访问.有效性检查以及其它处理. 与此同时,我们将介绍HttpRequest对象和Form对象. 从Request对象种获取数据 我们在第三节讲述View的函数时已经介绍过HttpRequest对象了,但当时并没有讲太多. 让我们回忆下:每个view函数的第一个参数是一个HttpRequest对象,就像下面这

两种办法提交表单

办法1.同一个页面中建立两个表单 各自提交: <form action="?" name="form1" id="form1">  <!-- 表单内容 --> <input type="submit" /> </form> <form action="?" name="form1" id="form1">  

提交表单的4种方式

1,超链接 <!-- 链接到page2 --> <a href="page2.jsp">链接到page2</a><br> <!-- 链接到page2,弹出新窗口 --> <a href="page2.jsp" target="_blank">链接到page2</a><br> <!-- 相对路径链接到page2 --> <a href=