django表格框架 table,django框架怎么使用
本文介绍了Django框架中表单的使用,并通过示例代码进行了详细介绍。对大家的学习或者工作都有一定的参考价值,有需要的朋友可以参考一下。
HTML表单是网站交互的经典方式。本章将介绍如何使用Django处理用户提交的表单数据。
一、HTTP 请求
HTTP协议以“请求-回复”的方式工作。当客户发送请求时,可以将数据附加到请求中。通过解析请求,服务器可以获得客户发送的数据,并根据URL提供特定的服务。
1、GET 方法
在我们之前的项目中,我们创建了一个search.py文件来接收用户的请求:
/hello world/hello world/search . py文件代码:
# -*-编码: utf-8 -*-
从django.http导入HttpResponse
快捷方式导入render_to_response
#表单
定义搜索_表单(请求):
返回render _ to _ response( search _ form . html )
#接收请求数据
定义搜索(请求):
request.encoding=utf-8
如果请求中有“q”。获取和请求。获得:
Message=您的搜索内容是: 请求。获取[q]
else:
Message=您提交了一个空表单
返回HttpResponse(消息)
在模板目录中添加search_form.html表单:
/hello world/templates/search _ form . html文件代码:
!声明文档类型
超文本标记语言
头
meta charset=utf-8
Title菜鸟教程(runoob.com)/title
/头
身体
form action=/search method= get
输入类型=text name=q
输入类型=提交值=搜索
/表单
/body
/html
Urls.py规则修改为以下形式:
/HelloWorld/HelloWorld/urls.py文件代码:
从django.conf.urls导入url
从。导入视图,测试数据库,搜索
urlpatterns=[
url(r^hello$,view.hello),
url(r^testdb$,testdb.testdb),
url(r^search-form$,search.search_form),
url(r^search$,search.search),
]
访问地址http://127 . 0 . 0 . 133608000/search-form并进行搜索。结果如下:3360
2、POST 方法
我们使用了上面的GET方法。视图和请求处理分为两个功能。
提交数据时更常用POST方法。让我们用这个方法显示视图,同时用一个URL和一个处理函数处理请求。
我们在模板中创建post.html:
/hello world/templates/post . html文件代码:
!声明文档类型
超文本标记语言
头
meta charset=utf-8
Title菜鸟教程(runoob.com)/title
/头
身体
表单操作=/search-post 方法=post
{% csrf_token %}
输入类型=文本名称
="q">
<input type="submit" value="Submit">
</form>
<p>{{ rlt }}</p>
</body>
</html>
在模板的末尾,我们增加一个 rlt 记号,为表格处理结果预留位置。
表格后面还有一个{% csrf_token %}的标签。csrf 全称是 Cross Site Request Forgery。这是Django提供的防止伪装提交请求的功能。POST 方法提交的表格,必须有此标签。
在HelloWorld目录下新建 search2.py 文件并使用 search_post 函数来处理 POST 请求:
/HelloWorld/HelloWorld/search2.py 文件代码:
# -*- coding: utf-8 -*-
urls.py 规则修改为如下形式:
/HelloWorld/HelloWorld/urls.py 文件代码:
from django.conf.urls import url
访问 http://127.0.0.1:8000/search-post 显示结果如下:
完成以上实例后,我们的目录结构为:
HelloWorld
二、Request 对象
每个 view 函数的第一个参数是一个 HttpRequest 对象,就像下面这个 hello() 函数:
from django.http import HttpResponse
HttpRequest对象包含当前请求URL的一些信息:
Request对象也有一些有用的方法:
QueryDict对象
在HttpRequest对象中, GET和POST属性是django.http.QueryDict类的实例。
QueryDict类似字典的自定义类,用来处理单键对应多值的情况。
QueryDict实现所有标准的词典方法。还包括一些特有的方法:
此外, QueryDict也有一些方法,如下表:
到此这篇关于Django框架中表单用法的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持盛行IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。