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

yipeiwu_com6年前Python基础

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

1.HTML中的表单控件:

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

<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中总的构造是

<!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用于接受前端传入的数据:

如:

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控件及参数传递方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

在Python的Flask框架中实现单元测试的教程

 概要 在前面的章节里我们专注于在我们的小应用程序上一步步的添加功能上。到现在为止我们有了一个带有数据库的应用程序,可以注册用户,记录用户登陆退出日志以及查看修改配置文件。 在...

Python操作SQLite简明教程

一、SQLite简介 SQLite是一个包含在C库中的轻量级数据库。它并不需要独立的维护进程,并且允许使用非标准变体(nonstandard variant)的SQL查询语句来访问数据库...

pymysql模块的使用(增删改查)详解

一、pymysql的下载和使用 之前我们都是通过MySQL自带的命令行客户端工具mysql来操作数据库,那如何在python程序中操作数据库呢?这就用到了pymysql模块,该模块本质...

python动态监控日志内容的示例

日志文件一般是按天产生,则通过在程序中判断文件的产生日期与当前时间,更换监控的日志文件程序只是简单的示例一下,监控test1.log 10秒,转向监控test2.log 程序监控使用是l...

Python中用memcached来减少数据库查询次数的教程

本来我一直不知道怎么来更好地优化网页的性能,然后最近做python和php同类网页渲染速度比较时,意外地发现一个很简单很白痴但是 我一直没发现的好方法(不得不BS我自己):直接像某些ph...