django 中如何将字典变量传给template视图层的JS
时间:2022-07-24
本文章向大家介绍django 中如何将字典变量传给template视图层的JS,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
django中,将view.py中的数据绑定到template中的html 中,我们可以用 render 函数携带 context 参数,复杂的数据结构可以用字典来组织,字典其实就是PHP中的关联数组,java中的map。
目录
1. view.py传递参数
2. create_task.html 中JS解析参数
3. django 其他过滤器
1
view.py传递参数
view.py 中,定义了一个入口,返回某三层目录,first_level 是第一层,是个列表,second_level 是第二层,是个字典,third_level 是第三层,是个字典,要将 second_level,third_level 传递给create_task.html,需要先转化成json 数据,然后放到context 里面。
def new_task(request):
context = {}
#读取 目录层级结构
root_path = 'G:\python\02-dart\dart\'
first_level = get_file_list(root_path)
second_level = {}
for one in first_level:
second_level[one] = get_file_list(root_path+one)
third_level = {}
for k,v in second_level.items():
for sub in v:
third_level[k+sub]=get_file_list(root_path+k+sub)
context['first_level'] = first_level
context['second_level'] = json.dumps(second_level)
context['third_level'] = json.dumps(third_level)
print(second_level)
print('----')
print(third_level)
return render(request, 'create_task.html', context)
2
create_task.html 中JS解析参数
create_task.html 中JS 解析时,{{ second_level|safe }} 一定要加上safe过滤器,要求不对字符进行转义。
<script type="text/javascript">
var second_level = {{ second_level|safe }}
console.log(second_level)
$('#first_level').change(function () {
})
$('#second_level').change(function () {
})
</script>
3
django 其他过滤器
{{ a|safe }} 于django输出前,要求不对字符进行转义。自动转义关闭时自动失效
{{ time|date:'Y-m-d H:i:s' }} 格式化输出时间 年月日时分秒
{{ list|join:',' }} 相当于 ‘,’.join(list)
{{ str|truncatechars:8 }} 显示内容为5个字符与3个点号 共8个字符
{{ str|truncatechars:8 }} 同上 显示单位为单词 按空格辨别
{{ str|length }} str的长度
{{ list|slice:'0-2' }} 切片索引0-2不含2
{{ var|default:'xxx' }} 为var设置默认值为‘xxx’
{{ str|lower }}{{ str|upper }} 输出显示为小/大写
{{ int|filesizeformat }} 转为内存大小单位 类似于2GB 1TB
END
- 每周学点大数据 | No.9递归——以阶乘为例
- appium+python自动化24-滑动方法封装(swipe)
- libvirt-虚拟机qos控制
- 【深度】Deep Visualization:可视化并理解CNN
- Appium+python自动化28-name定位
- Appium+python自动化29-toast消息
- guestfs这么强大你知道吗
- appium+python自动化30-list定位(find_elements)
- python笔记4-遍历文件夹目录os.walk()
- 【专知国庆特刊-PyTorch手把手深度学习教程系列01】一文带你入门优雅的PyTorch
- python接口自动化14-multipart/form-data上传图片
- 【干货】RL-GAN For NLP: 强化学习在生成对抗网络文本生成中扮演的角色
- python接口自动化15-multipart/form-data表单提交
- appium+python自动化32-android_uiautomator定位进阶版
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python3.4中清屏的处理方法
- TensorFlow Autodiff自动微分详解
- python interpolate插值实例
- pandas.DataFrame.drop_duplicates 用法介绍
- python如何进入交互模式
- PHP静态方法和静态属性及常量属性的区别与介绍
- 详解PHP变量传值赋值和引用赋值变量销毁
- Keras 利用sklearn的ROC-AUC建立评价函数详解
- PHP如何防止XSS攻击与XSS攻击原理的讲解
- 如何验证python安装成功
- python三引号如何输入
- Python定义一个函数的方法
- keras 模型参数,模型保存,中间结果输出操作
- python判断是空的实例分享
- keras绘制acc和loss曲线图实例