随笔分类 -  Django

大而全的web框架
django【ORM】model字段类型
摘要:1、AutoField 一个自增的IntegerField,一般不直接使用,Django会自动给每张表添加一个自增的primary key。 2、BigIntegerField 64位整数, 9223372036854775808 到 9223372036854775807。默认的显示widget 阅读全文

posted @ 2018-01-28 15:57 lucaq 阅读(223) 评论(0) 推荐(0) 编辑

django【ORM】 通过外键字段找对应类
摘要:两个方法其实是一种,用哪个都行,看实例: 方法一: 从list_filter中的字符串,找到model对象的字段,然后得到这个外键对应的类 循环,把list_filter中对应的类所有对象 从list_filter中的字符串,找到model对象的字段,然后得到这个外键对应的类 从list_filte 阅读全文

posted @ 2017-11-02 17:17 lucaq 阅读(389) 评论(0) 推荐(0) 编辑

Django【进阶】modelform
摘要:modelform:models+form 建议尽量用Djangoform,更灵活,但也有人用modelform,写起来很简单 缺点,在models里面,表模型必须有__str__()方法 可添加钩子,用法一样 实例: modelform:models+form 建议尽量用Djangoform,更灵 阅读全文

posted @ 2017-10-10 20:11 lucaq 阅读(189) 评论(0) 推荐(0) 编辑

Django【进阶】API验证 pwd:3****1
该文被密码保护。

posted @ 2017-10-09 20:46 lucaq 阅读(2) 评论(0) 推荐(0) 编辑

Django【设计】同功能不同实现模式的兼容性
摘要:需求: 当我们采集硬件信息时,客户端可以有多种方式,具体方式取决于客户机,CMDB项目中,我们有三种方式可选,AGENT/SSH/SALT,根据客户机具体情况和“SALT>>SSH>>AGENT”的优选级我们确定,选用SSH的方式进行硬件信息采集。 但是,不能固定不变,当客户机改变时需要用AGENT 阅读全文

posted @ 2017-10-09 17:45 lucaq 阅读(240) 评论(0) 推荐(0) 编辑

Django【设计】可插拔的插件方式实现
摘要:需求: 在CMDB系统中,我们需要对资产进行采集和资产入库,包括serverBasic、disk、memory、nic信息等,客户端需要采集这些硬件的信息,服务端则负责资产入库,但是需要采集的硬件并不是固定不变的,我们需要根据实际情况适当的添加或者减少硬件信息的采集,所以在生产环境中,我们把每个硬件 阅读全文

posted @ 2017-10-08 21:03 lucaq 阅读(2018) 评论(2) 推荐(2) 编辑

第三天:内存增删改插件
摘要:思路:内存跟硬盘类似,都是以插槽来判断变更,与硬盘插件基本相同 问题:硬盘做变更日志时出现类型不同的问题,如果用硬盘的处理方式,也会出错。 解决:错误都是类型出错,所以根据数据类型调整,内存变更信息不需要都转成字符串比较。 from repository import models class Me 阅读全文

posted @ 2017-10-02 22:33 lucaq 阅读(160) 评论(0) 推荐(0) 编辑

第二天:网卡增删改插件
摘要:思路:网卡的唯一标识是mac地址,所以对比新旧用mac地址来进行比较 问题:mac地址如果被修改的话,就不能更新,只能添加新网卡,生产环境中肯定不能修改mac地址, 但如何限制后台对mac地址的修改? models中能否做限制? 不过好像只是测试的时候才改,生产环境根本不会从后台改数据 from r 阅读全文

posted @ 2017-10-02 22:25 lucaq 阅读(169) 评论(0) 推荐(0) 编辑

第一天:硬盘变更日志记录
摘要:根据老师代码添加硬盘变更日志记录 for slot in update_slot_list: value = new_disk_info_dict[slot] obj = models.Disk.objects.filter(server_obj=self.server_obj,slot=slot) 阅读全文

posted @ 2017-10-02 22:15 lucaq 阅读(545) 评论(0) 推荐(0) 编辑

Django【设计】settings方案
摘要:目标:配置文件,默认配置和手动配置分开,参考django的配置文件方案,默认配置文件放在内部,只让用户做常用配置 /bin/settings.py(手动配置) PLUGIN_ITEMS = { "nic": "src.plugins.nic.Nic", "disk": "src.plugins.di 阅读全文

posted @ 2017-09-27 16:57 lucaq 阅读(342) 评论(0) 推荐(0) 编辑

Python【模块】importlib,requests
摘要:内容概要: 模仿django中间件的加载方式 importlib模块 requests模块 rsplit() 用实际使用的理解来解释两个模块 importlib模块: 通常用于动态引入自定义模块,代码中module=importlib.import_module(module_path),modul 阅读全文

posted @ 2017-09-26 16:51 lucaq 阅读(230) 评论(0) 推荐(0) 编辑

Django-【views】decorators.csrf
摘要:views下导入方法 from django.views.decorators.csrf import csrf_exempt,csrf_protect csrf_exempt是全局需要,唯独这个不需要 csrf_protect是全局不需要,唯独这个需要 使用方法: from django.shor 阅读全文

posted @ 2017-09-26 16:09 lucaq 阅读(271) 评论(0) 推荐(0) 编辑

Django-【template】自定义过滤器和自定义标签
摘要:模板语言内置的过滤器和标签比较少,往往会遇到无法满足需求的情况,所以需要我们来自定义。自定义filter和simple_tag在项目中很常用 a.首先检查settings下面INSTALLED_APPS有没有注册当前应用 b.然后在应用下面创建templatetags模块,我建一个templatet 阅读全文

posted @ 2017-09-25 15:59 lucaq 阅读(208) 评论(0) 推荐(0) 编辑

Django【进阶】分页功能Pagination
摘要:项目中,我们需要很多非业务逻辑的功能,例如分页功能,而且此类功能移植性很好,可以在不同的项目中使用,所以整理好这些功能会一定程度上提高开发效率,下面是分页功能代码,使用时,可单独放在utils目录 """ 使用方法: from utils.page import Pagination def use 阅读全文

posted @ 2017-09-24 16:12 lucaq 阅读(234) 评论(0) 推荐(0) 编辑

Django【进阶】数据库查询性能相关
摘要:之前项目中没有考虑过数据库查询关于效率的问题,如果请求量大,数据庞大,不考虑性能的话肯定不行。 tips:如图之前我们遇到过,当添加一张表时,作为原来表的外键,要给个默认值,现在我们写null=True - 性能相关 <wiz_tmp_tag id="wiz-table-range-border" 阅读全文

posted @ 2017-09-24 14:41 lucaq 阅读(176) 评论(0) 推荐(0) 编辑

Django【进阶】序列化
摘要:关于Django中的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的为Json格式。 方案一:serializers 1 2 3 4 5 fromdjango.coreimportserializers ret=models.BookType.objects.all 阅读全文

posted @ 2017-09-24 14:13 lucaq 阅读(213) 评论(0) 推荐(0) 编辑

Django【进阶】信号
摘要:-信号 Django中提供了“信号调度”,用于在框架执行操作时解耦。通俗来讲,就是一些动作发生的时候,信号允许特定的发送者去提醒一些接受者。 问题:如何对所有数据库添加操作进行日志记录? 问题:信号和中间件的区别? 一、Django中的内置信号 Model signals pre_init # dj 阅读全文

posted @ 2017-09-24 13:22 lucaq 阅读(235) 评论(0) 推荐(0) 编辑

Django【进阶】缓存
摘要:Django缓存 Django缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将一个某个views的返回值保存至内存或者memcache中,5分钟内再有人来访问时,则不再去执行view中的操作,而是直接从内 阅读全文

posted @ 2017-09-24 11:00 lucaq 阅读(193) 评论(0) 推荐(0) 编辑

Django【进阶】中间件
摘要:中间件 一、概念 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法。 其中process_view方法用的较少,process_template_response方法一般不会用 阅读全文

posted @ 2017-09-23 15:11 lucaq 阅读(364) 评论(0) 推荐(0) 编辑

Django【进阶】权限管理
摘要:一、权限 RBAC:role basic access control 1、什么是权限: 一个权限就是一个url,不同个权限对应不同的url,拥有权限即可以访问这个url。 2、权限划分: 如果以每个人来划分权限,分配的时候回非常麻烦,特别是权限和人都非常多的时候 以角色来划分权限 二、做一个简单权 阅读全文

posted @ 2017-09-22 16:33 lucaq 阅读(2934) 评论(1) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示