编写自定义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的操作啦~
编写自定义django-admin命令的更多相关文章
- Django编写自定义manage.py 命令
官网文档地址:编写自定义 django-admin 命令 金句: 你所浪费的今天,正是昨天死的人所期待的明天. 开篇话: python manage.py <command> 的命令我们用 ...
- 自定义 Django admin 组件
摘要:学习 Django admin 组件,仿照源码的逻辑,自定义了一个简易的 stark 组件,实现类似 admin 的功能. 可自动生成 url 路由,对于model 有与之相应的配置类对象,可进 ...
- 自定义django admin及其界面
1.在项目目录下新创建一个app,命名为kingadmin,在templates目录下新建kingadmin目录,用来存放相关页面的模板文件,新建一个templatetags目录,用来存放处理前端模板 ...
- 自定义Django Admin界面
目录 模型 注册模型 定制页面 模型 # app/model.py class Question(models.Model): question_text = models.CharField(max ...
- 编写自定义的django-admin命令
先写标题内容后续补充上 官方文档如下 :http://python.usyiyi.cn/documents/django_182/howto/custom-management-commands.ht ...
- django “如何”系列4:如何编写自定义模板标签和过滤器
django的模板系统自带了一系列的内建标签和过滤器,一般情况下可以满足你的要求,如果觉得需更精准的模板标签或者过滤器,你可以自己编写模板标签和过滤器,然后使用{% load %}标签使用他们. 代码 ...
- Django admin 自定义Choice_field
在使用Django Admin后台时,有时候想自定义某一字段的Choice_field,例如屏蔽某些选项,只显示某些指定的选项. 想象这样的应用场景,我有一个网站,导航栏是这样的: 点开“技术杂谈”后 ...
- Django 编写自定义的 404 / 500 报错界面
Django 编写自定义的 404 / 500 报错界面 1. 首先 setting.py 文件中的 debug 参数设置成 false ,不启用调试. DEBUG = False 2. 在 temp ...
- django admin自定义
django admin自定义 class CustomerAdmin(admin.ModelAdmin): list_display = ('id','name','qq','consultant' ...
- Django admin 权威指南(一)
版本: Django 1.10 此部分由官方文档<6.5.1 The Django admin site>翻译而来. 6.5.1.1 概览 默认情况下,使用startproject的时候, ...
随机推荐
- CentOS 7 yum nginx MySQL PHP7 简易环境搭建(精)
用centos自带的yum源来安装nginx,mysql和php,超级方便,省去编译的麻烦,省去自己配置的麻烦,还能节省非常多的时间. 我们先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份 ...
- Java并发之线程转储
一.java线程转储 java的线程转储可以被定义为JVM中在某一个给定的时刻运行的所有线程的快照.一个线程转储可能包含一个单独的线程或者多个线程.在多线程环境中,比如J2EE应用服务器,将会有许多线 ...
- ld: library not found for -lstdc++.6
ld: library not found for -lstdc++.6 Xcode10 删除 libstdc++.6.tbd libstdc++.6.0.9.tbd 用 libc++.tbd lib ...
- spring 整合junit进行测试
如果想让junit和spring容器环境无缝对接的话,可以使用如下方式: import com.jd.ptest.service.ICronService; import org.junit.Test ...
- Protobuf3 序列化
在message_lite.h中定义了SerializeToString ,SerializeToArray ,SerializeToCodedStream ,SerializeToZeroCopyS ...
- 通过itools安装ipa时,如果装不上提示"Mismatche...onIdentifierEntitlement"
最后安装ipa时,如果装不上提示"Mismatche...onIdentifierEntitlement",一定要卸载设备里的现有的微信app!!!!!!!!!!!!!还有就是,如 ...
- 现代php编程
自动加载__autolaod和spl_autoload_register() 自动加载就是指如果找不到某个类如何处理的方式,具体可参见此文,可以说spl_autoload_register是更加高级, ...
- .net core 2.0 虚拟目录下载 Android Apk 等文件
当Android 文件 Apk 放在Asp.net core wwwroot 虚拟目录下面.访问是 404,设置Content-Type类型 app.UseStaticFiles(); //设置实际目 ...
- linux服务查看
(1)#service servicename status比如查看防火墙:#service iptables status (2)#chkconfig --list |grep 服务名 比如查看te ...
- 在WSL中使用Window10中的virtualenv环境
1.进入WSL的终端 2.创建env.sh脚本,内容如下: export WORKON_HOME=你环境的总目录if [ ! -d "$WORKON_HOME/$1/" ];the ...