Python之Django自动实现html代码(下拉框,数据选择)


Posted in Python onMarch 13, 2020

我就废话不多说了,还是直接看代码吧!

#模板
class IndexForm(forms.Form):
 # 模板,用户提交的name和这里的变量名一定要是一致的.否则不能获取数据
 user = forms.CharField(min_length=6, error_messages={'required': '用户名不能为空', 'min_length': '用户名长度不能小于6'})
 email = forms.EmailField(error_messages={'required': '邮箱不能为空', 'invalid': '邮箱格式错误'})
 """
  单选
  favor = forms.ChoiceField(
  choices=[(1, '小虎'), (2, '小小虎'), (3, '小B虎')]
 )
 """
 # 多选
 favor = forms.MultipleChoiceField(
  choices=[(1, '小虎'), (2, '小小虎'), (3, '小B虎')]
 )
 pass
#函数
def index(request):
 obj = IndexForm()
 return render(request, "index.html", {'obj': obj})


def edit_index(request):
 obj = IndexForm({'user': 'root', 'email': '123@qq.com', 'favor': [2,3]})
 return render(request, "index.html", {'obj': obj})
#前端

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
</head>
<body>
<p>{{ obj.user }}</p>
<p>{{ obj.email }}</p>
<p>{{ obj.favor }}</p>
</body>
</html>

补充知识:django使用模板实现下拉菜单,菜单内容读取后台动态填充,并动态设置默认值

看代码吧!

<select id="heard1" class="form-control" required="" data-parsley-id="6485" name="name">
   {% for name in data_list %}
   <option id="name" value="{{ name }}" {% if name == role_name %} selected {% endif %}>{{ name }}</option>
   {% endfor %}
</select>

这里面的重点是:

{% if name == role_name %} selected {% endif %} 这句话中得判断条件,name就是自己从data_list中遍历出来得那个name, role_name也是自己传过来得数据,这个数据是我自己定义的另一个库中的数据,因为两个库是关联的;

data = UserManage.objects.get(id=id)
role_name = data.user_role.name
query_name_list_set = RolesManage.objects.values("name")
data_list = []
for name_dict in query_name_list_set:
  data_list.append(name_dict.get("name"))
return render(request, "users_manage/edit.html", {"data": data, "data_list": data_list, "role_name": role_name})

贴上代码,为了防止自己忘记了好回过头来翻看

以上这篇Python之Django自动实现html代码(下拉框,数据选择)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python的Django框架中创建和使用模版
Jul 15 Python
Django URL传递参数的方法总结
Aug 28 Python
详解python深浅拷贝区别
Jun 24 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
Dec 10 Python
Python如何读取文件中图片格式
Jan 13 Python
flask 框架操作MySQL数据库简单示例
Feb 02 Python
Python多重继承之菱形继承的实例详解
Feb 12 Python
python sitk.show()与imageJ结合使用常见的问题
Apr 20 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
python安装sklearn模块的方法详解
Nov 28 Python
一行代码python实现文件共享服务器
Apr 22 Python
Tensorflow中的dropout的使用方法
Mar 13 #Python
python实现简单俄罗斯方块
Mar 13 #Python
Python实现检测文件的MD5值来查找重复文件案例
Mar 12 #Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 #Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 #Python
python不相等的两个字符串的 if 条件判断为True详解
Mar 12 #Python
Python 实现使用空值进行赋值 None
Mar 12 #Python
You might like
比较详细PHP生成静态页面教程
2012/01/10 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
Yii2 队列 shmilyzxt/yii2-queue 简单概述
2017/08/02 PHP
PHP7 新增功能
2021/03/09 PHP
js 全兼容可高亮二级缓冲折叠菜单
2010/06/04 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
js导出格式化的excel 实例方法
2013/07/17 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
js实现键盘控制DIV移动的方法
2015/01/10 Javascript
javascript搜索框效果实现方法
2015/05/14 Javascript
简述Jquery与DOM对象
2015/07/10 Javascript
Vue.js一个文件对应一个组件实践
2016/10/27 Javascript
Javascript实现页面滚动时导航智能定位
2017/05/06 Javascript
JS实现百度搜索接口及链接功能实例代码
2018/02/02 Javascript
详解如何在项目中使用jest测试react native组件
2018/02/09 Javascript
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
python 将md5转为16字节的方法
2018/05/29 Python
python生成requirements.txt的两种方法
2019/09/18 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
python中字符串的编码与解码详析
2020/12/03 Python
Django自带的用户验证系统实现
2020/12/18 Python
H5离线存储Manifest原理及使用
2020/04/28 HTML / CSS
世界上最好的旅行夹克:BauBax
2018/12/23 全球购物
考试退步检讨书
2014/01/15 职场文书
先进员工获奖感言
2014/08/14 职场文书
新闻稿件写作范文
2015/07/18 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
2019财务转正述职报告
2019/06/27 职场文书
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电