zoukankan      html  css  js  c++  java
  • django框架学习:二十二.django表单提交-get请求

    ------------恢复内容开始------------

    前言

    在登录的时候,输入框里输入账号,密码提交,从前端页面将账号密码等信息提交到服务端,服务端接收数据后根据提交的数据进行相应的处理,返回相应的响应。这一套流程下来就是今天学习的内容,表单的提交,涉及到前后端数据的交互。

    from表单

    用户表单是web开发的一项基本的功能,Django的表单功能由Form类实现,主要分为两种:

    django.forms.Form 基础的表单功能

    django.forms.ModelForm 结合模型生成的数据表单

    一个完整的表单有四部分组成:日胶地址,请求方式,元素空间,提交按钮。

    action

    提交地址,设置用户提交数据有哪个url接收和处理。如果显示当前页,不需要跳转,action设置为空字符,如果显示不是当前页,不需要跳转,action设置为跳转后的地址。

    method

    请求方式,常见的get或post请求

    input 

    元素空间,输入文本信息

    submit

    提交按钮,出发提交动作

    创建html文件,page_01.html

    数据库表

    通过html 实现qq号码查询的提交,models.py文件创建PersonInfo.py文件

     将数据迁移,同步数据库:

    python manage.py makemigrations

    python manage.py migrate

    打开navicat客户端,查看是否成功创建表格,准备查询数据

    获取提交参数(request.GET)

    html上的数据提交后,我们希望能获取到提交的数据,然后对数据做个简单的处理,跟进不同的数据返回不同的结果。通过表单提交数据后,通过视图函数实现和数据库的交互。

    equest.GET 可以看成一个字典,用GET方法传递的值都会保存到其中,可以用 request.GET['key_name']来取值,但是当key值不存在时,会报错“MultiValueDictKeyError”。

    为了避免key值不存在时报错,这里可以用另外一种写法:request.GET.get('key_name', None)

    获取提交的数据 # r = request.GET["q"] # key_name就是前面输入框里的name属性对应值name="q" r = request.GET.get('q', None) #key_name不存在时,不会报错

    查询数据库返回

    查询数据库PersonInfo输入qq号码,返回name值

    视图函数数据交互处理

     

    最后添加访问路径:

    启动django服务后,打开浏览器输入访问路径,进行数据的提交如下

     

    访问日志:

     

    ------------恢复内容结束------------

  • 相关阅读:
    [转] JS报 “尚未实现” 错误
    分享到国内各SNS网站的代码
    IE8以下版本不支持动态创建的HTML5元素?
    一个较为个性化的出生日期选择
    关于拖拽上传 [一个拖拽上传修改头像的流程]
    用CSS写出漂亮的小三角
    用户自定义模块的实现方案
    纪录一则IE的bug
    onpropertychange 和 oninput
    判断脚本加载完毕
  • 原文地址:https://www.cnblogs.com/liushui0306/p/12668231.html
Copyright © 2011-2022 走看看