django表格框架 table,django框架怎么使用

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: