为Django的manage.py添加自定义命令

有时候会有这样的需求,为django执行一些定时任务,比如通知搜索引擎,例如百度,提交网站的一些地址给他们,通过为django的manage.py添加自定义命令可以很容易的解决这个问题。下面介绍下如何添加。

首先需要在创建好的app应用的根目录创建文件夹名为management的目录,然后继续在该目录创建commands的目录,并在两个目录中都要创建__init__.py的python文件。 目录创建好之后继续在commands的目录中添加notify_baidu.py文件,文件名将会是manage.py的命令名。目录结构如下:

示例图片

代码内容大概如下:

# -*- coding: …

Docker常用命令整理

本文只是整理了一些docker的一些常用命令,至于docker的基础知识,建议有能力的同学可以阅读一下 官方文档,英文能力稍差的同学可以查看这里 gitbook,里面所讲的内容比较全面,本文不在赘述。

1. 查看版本信息

docker --version # 查看版本
docker-compose --version # 查看版本 …

Django中使用Q构建复杂查询

一般我们在Django程序中查询数据库操作都是在QuerySet里进行进行,随着我们的程序越来越复杂,查询的条件也跟着复杂起来,这样简单的通过一个filter()来进行查询的条件将导致我们的查询越来越长。当我们在查询的条件中需要组合条件时(例如两个条件“且”或者“或”)时。我们可以使用Q()查询对象。

比如有以下表:

from django.db import models

class Blog(models.Model):
    text = models.CharField(max_length=200)
    pub_date = models.DateTimeField('published_date')

    def …

Python发布自己的包到pypi上

      作为一个Python程序员,我们都用过pip install xxx的命令来安装自己所需要的Python包,那么如何发布自己的Python包到pypi上,共享给所有人呢?下面我们来介绍一下方法。

先解释下PyPI,PyPI(Python Package Index)是python官方的第三方库的仓库,所有人都可以下载第三方库或上传自己开发的库到PyPI。PyPI推荐使用pip包管理器来下载第三方库。

首先你要有一个自己的项目,这里不做创建项目的介绍,毕竟我也不知道你想写个什么包。

第一步:先创建一个pypi账户  …

Python代码性能优化技巧

    代码优化能够让程序运行更快,它是在不改变程序运行结果的情况下使得程序的运行效率更高,根据 80/20 原则,实现程序的重构、优化、扩展以及文档相关的事情通常需要消耗 80% 的工作量。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。

1. 改进算法,选择合适的数据结构

一个良好的算法能够对性能起到关键作用,因此性能改进的首要点是对算法的改进。在算法的时间复杂度排序上依次是:

O(1) > O(lg n) > …