zoukankan      html  css  js  c++  java
  • 编写自定义django-admin命令

      Django为项目中每一个应用下的management/commands目录中名字没有以下划线开始的Python模块都注册了一个manage.py命令,我们可以利用这点来自定制一个命令(比如运行该命令可清空数据库什么的)

    相应的文件目录结构如下:

    app01/
        __init__.py
        models.py
        management/
            __init__.py
            commands/
                __init__.py
                _private.py#下划线开头的不可以用作自定制命令的编写文件
                xxx.py#不以下划线开头的就可以
        tests.py
        views.py

      如上图所示,_private.py将不可以作为一个管理命令使用,而xxx.py则可以。我们想要自定制命令,需自己在指定app目录下创建management包,management包内创建commands包,commands包内心间自己想要写入自定制命令的文件即可。

      xxx.py模块想要写自定制命令的话,必须定义一个Command类并继承Basecommand或其子类。

    from django.core.management.base import BaseCommand, CommandError
    from app01.models import Poll
     
    class Command(BaseCommand):#必须继承
        
        def handle(self, *args, **options):#必须实现的方法 ,该方法即自定义命令执行的内容
           print("Hello World")

      完成以上配置后,键入命令python manage.py xxx就可以执行打印Hello World的操作啦~

  • 相关阅读:
    spring AOP操作
    spring AOP理解和相关术语
    spring 注解管理
    spring 注入属性
    spring bean标签常用属性
    spring属性注入方式
    spring bean实例化的三种方式
    struts2常用标签
    Codeforces 484(#276 Div 1) B Maximum Value 筛法
    Codeforces 484(#276 Div 1) A Bits 乱搞
  • 原文地址:https://www.cnblogs.com/zhuminghui/p/9100395.html
Copyright © 2011-2022 走看看