• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!
Python处理Ctrl+C

Python处理Ctrl+C

比如我现在有这么一个需求,我在一个方法中一直循环探测一个服务的连接数,当连接数为0时,就继续走下面的逻辑,比如关闭服务操作,以此来做 Java 平滑发布。伪代码如下: def fun(): while True: processlist = 'netstat -anplt | wc -l' ……

Django日志详解

Django日志详解

Django对于日志输出的信息是很完善的,request的信息,setting配置,trackback的信息,一应俱全,足够我们调试了。但是在线上环境,如果让用户看到这些信息,是很不安全的(暴露代码)。所以在线上我们要关闭Debug,但是又不能扔掉这些调试信息,这就要用到日志了。Django使用Python内建的logging模块打印日志,但在Django中……

Django REST framework Mixins

Django REST framework Mixins

mixins在drf中主要配合viewset共同使用,实现http方法与mixins的相关类与方法进行关联。关于viewset可以看我另外一篇博客,这里不过多介绍。 在这个viewset中,主要有5类Minxin,他们与http方法对应如下: mixins 作用 对应HTTP的请求方法 mixins.ListModelMixin 定义list方法,……

Python模块:subprocess

Python模块:subprocess

一、subprocess 在早期的 Python 版本中,我们主要是通过 os.system()、os.popen()、os.spawn() 等函数来执行命令行指令的,另外还有一个很少使用的 commands 模块。从 Python 2.4 开始, Python 引入 subprocess 模块来管理子进程,以取代一些旧模块的方法。 subprocess 不……

Django Channels Tutorial

Django Channels Tutorial

最近在实现数据库运维平台时需要用到 WebSocket,而原生的 Django 又不支持 WebSocket,仅有 Django Channels 库支持 WebSocket。 正常情况下,Django 使用 HTTP 请求实现客户端和服务器端的通信: 1. 客户端发送 HTTP 请求到服务器端 2. Django 解析请求,提取 URL,并将其和 View……

Django REST framework过滤和搜索

Django REST framework过滤和搜索

一、过滤 在使用DRF写平台的时候,或多或少都会有过滤的需求。而在DRF中常用的就是django-filter库了,django-filter库包括一个DjangoFilterBackend类,它支持REST Framework的高度可定制的字段过滤。 首先安装django-filter: $ pip install djang……

Django REST framework分页

Django REST framework分页

一、分页配置 在系统开发中,分页一般都是必不可少的功能。REST framework包含对可定制分页样式的支持,这使你可以将较大的结果集分成单独的数据页面。 需要知道是,分页仅在你使用通用视图或视图集时自动执行。如果你使用的是常规APIView,则需要自己调用分页 API 以确保返回分页响应。示例请参阅mixins.ListModelMixin和generi……

Django跨站请求伪造(CSRF)保护

Django跨站请求伪造(CSRF)保护

一、概述 CSRF(Cross Site Request Forgery)跨站点伪造请求,举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果某个用户已经登录到你的网站上了,那么当这个用户点击这个恶意网站上的那个链接时,就会向你的网站发来一个请求,你的网站会以为这个请求是用户自己发来的。其实呢,这个请求是那个恶意网站伪造的。 举例:假如用户aa登录了银行……

Python模块:logging

Python模块:logging

一、日志 日志是什么?这个不用多解释。百分之九十的程序都需要提供日志功能。Python内置的logging模块,为我们提供了现成的高效好用的日志解决方案。但是,不是所有的场景都需要使用logging模块,下面是Python官方推荐的使用方法: 任务场景 最佳工具 普通情况下,在控制台显示输出 print() 报告正常程序操作过程中发生的事件……

Django REST framework API认证(包含JWT认证)

Django REST framework API认证(包含JWT认证)

一、背景 在我们学习Django Rest Framework(简称DRF)时,其非常友好地给我们提供了一个可浏览API的界面。很多测试工作都可以在可浏览API界面完成测试。要使用可浏览API界面很简单,只需要在urls.py文件中添加如下部分即可。 from django.conf.urls import include u……

Python后台进程实现

Python后台进程实现

Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下……

Django REST framework API Guide

Django REST framework API Guide

学习Django REST framework时,当大致理解及学完了Django Rest framework教程部分后,你可能就需要看看每个API了,这样对于Django REST framework的理解可能才会更加深入。因为在教程部分有很多东西并没有讲的那么细致,只能从API指南处学习。网友@jianshijiuyou已经把API部分通过Google翻……