django django中的HTML控件及参数传递方法 以及 HTML form 里的数据是怎么被包成http request 的?如何在浏览器里查看到这些数据?

时间:2021-10-25 16:36:19

https://www.jb51.net/article/136738.htm

django中的HTML控件及参数传递方法

下面小编就为大家分享一篇django中的HTML控件及参数传递方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
django  django中的HTML控件及参数传递方法 以及 HTML form 里的数据是怎么被包成http request 的?如何在浏览器里查看到这些数据?

本文对djangoHTML的表单控件中的单选及多选进行介绍,并说明如何进行参数传递。

1.HTML中的表单控件:

在HTML中表单的书写一般为:

1
2
3
4
5
6
7
8
<form method="post" action=""> 这个method代表方法,方法一般有两个一个是'post',一个是'get',action是提交表单到何处,可填写一个网址。不填则默认到本页面。
{%csrf_token%} 这个是django中的一个标签,用于防止恶意攻击使用,如果不加入这个标签,会遇到不能提交的问题,处理麻烦一点,建议加上。
<input name="select" type="radio" value='radio'>这就是一个单选标签,多选为type='checkbox'。 value是显示的内容,并且后端提交后也将此作为值,其中name是后端
获取时所用的如后端使用 select = request.POST['select']获取这个单选按钮的value,另外也可以用select = request.POST.get('select',None)来获取。
<input name="submit" type="submit" value="提交" />这就是一个提控件,其中的type='submit'会保证点击后表单(<form></form>)中的内容被提交到后端。
<input name="text" type="text" value="" />一个输入框
</form>
<!-表单结束>

前段在HTML中总的构造是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<form method="post" action="">
{%csrf_token%}
<input name="select" type="radio" value='radio'>
<input name="text" type="text" value="" />
<input name="submit" type="submit" value="提交" />
</form>
</body>
</html>

那么前段HTML就是这样。

2.django的view.py中接受数据:

后端可以在view中书写一个def用于接受前端传入的数据:

如:

1
2
3
4
5
6
7
8
9
def receive_data(request):
 if request.POST: # 如果数据提交
 print('有提交')
  
 select = request.POST.get('select',None)
  
 text = request.POST.get('text',None)
 print(select,text)
 return render(request,'your_html.html', locals()) # your_html.html改为你的html页面并且参考前面的博客建立url链接。

这就是django建立前后交互的简单案例,在django 1.10.5 python 3.5 html 5下进行。

以上这篇django中的HTML控件及参数传递方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

###########
https://www.cnblogs.com/lynnge/p/5096819.html

  • HTML form 里的数据是怎么被包成http request 的?如何在浏览器里查看到这些数据?

浏览器做的html数据解析

form里的数据变成name=value对在POST Body中

request content-type说明了POST Body的数据如何解析 (https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Forms/Sending_and_retrieving_form_data )

browser debugging tool里的network tab里可以看大所有的数据: Request header, Response header, Form data, cookie

  • django是怎么解析出数据的?django中是如何使用这些数据的?

    request.POST[name]

#########

http://www.runoob.com/python/python-mysql.html
https://baijiahao.baidu.com/s?id=1603758921183499330&wfr=spider&for=pc