django 页面传参数(django query模块)
类别:脚本大全 浏览量:1035
时间:2021-10-14 00:19:14 django 页面传参数
django query模块
最近在接触一个django项目,使用的是fbv( function-base views )
模式,看起来特别不舒服,项目中有一个模型类117个字段,看我的有点晕,不过还是得干呀,生活呀,头发呀。
个人觉得这个模块用处不是很大,并且写的也不是很好。看了看源码如此简单,就给大家分享一下,也好久没有给大家分享东西了。
|
import json def get_default_valcastfunc(val_cast_type = none): """通过一下方法传入的字符串判断使用哪种数据返回""" if val_cast_type = = 'int' : return 0 , int elif val_cast_type = = 'listjson' : return '[]' , json.loads elif val_cast_type = = 'dictjson' : return '{}' , json.loads return none, none def get_query_value(request, key, default = none, val_cast_func = none, val_cast_type = none): """ 通过val_cast_type获取到优化数据的函数,或者通过val_cast_func函数传入val """ if val_cast_type in [ 'int' , 'listjson' , 'dictjson' ]: default, val_cast_func = get_default_valcastfunc(val_cast_type) value = request.post.get(key) or request.get.get(key) or default return val_cast_func(value) if val_cast_func else (value or '')自认为的几个重点 |
request.post.get
这样取值即使key不存在也不会报错,而是返回none,而request.post[key]
这样会报错keyerror ,get同post django的模型类使用get若无值,则会报错。
在返回的时候使用参数val_cast_func
,而val_cast_func
并未传入,而是通过get_default_valcastfunc
返回设置
原文链接:https://segmentfault.com/a/1190000018946742
您可能感兴趣
- nodejs架构解析(详解NodeJS模块化)
- python time模块记录时间(Python Datetime模块和Calendar模块用法实例分析)
- python里面的time如何用(详解python:time模块用法)
- nodejs 内部模块代码(详解Node.js如何处理ES6模块)
- php生成json信息(php使用json-schema模块实现json校验示例)
- laravel 模块目录(Laravel框架文件上传功能实现方法示例)
- python的模块与包与库(Python 中包/模块的 `import` 操作代码)
- js的模块模式设计(JS实现单例模式的6种方案汇总)
- angular 常用模块(详解Angular之路由基础)
- 颜色识别模块抓取物体(Referer原理与图片防盗链实现方法详解)
- python time模块是什么(python中时间模块的基本使用教程)
- laravel前后端分离模块化(laravel 实现划分admin和home 模块分组)
- django常用模块(django celery redis使用具体实践)
- python中tkinter模块窗口操作(详解python tkinter教程-事件绑定)
- php模块使用方法(PHP操作XML中XPath的应用示例)
- 织梦cms模块使用方法(织梦CMS文章模型文章转入新的自定义模型的方法)
- 今天要吃什么(今天要吃什么菜好)
- 网红直播可以赚很多钱吗(网红直播可以赚很多钱吗)
- 今天是什么日子(今天是什么日子有什么特殊意义吗)
- 这里输入关键词(怎么输入关键词搜索)
- 34岁的舒畅,就这样走到了末路,不知会不会后悔15年前的草率决定(就这样走到了末路)
- 不走心的古装造型 舒畅 毁容式 出演,萧蔷雷出新高度(不走心的古装造型)
热门推荐
- sql server创建的表在哪(浅析SQL Server授予了CREATE TABLE权限但是无法创建表)
- python画折线图(python使用Plotly绘图工具绘制水平条形图)
- mysql中使用show table status 查看表信息
- css设置超链接样式
- python矩阵怎么生成(python实现矩阵打印)
- python使用什么函数定义匿名函数(Python匿名函数及应用示例)
- css中:first-child
- linuxnfs服务教程(使用Docker的NFS-Ganesha镜像搭建nfs服务器的详细过程)
- vue3 兄弟组件(vue3如何按需加载第三方组件库详解)
- pyqt5加载chrome浏览器(PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9