Django commands自定制

什么是Django Commands

Django 对于命令的添加有一套规范,你可以为每个app 指定命令。通俗一点讲,比如在使用manage.py文件执行命令的时候,可以自定制自己的命令,来实现命令的扩充。

 

commands的创建

1、在app内创建一个management的python目录
2、在management目录里面创建commands的python文件夹
3、在commands文件夹下创建任意py文件

此时py文件名就是你的自定制命令,可以使用下面方式执行

python manage.py 命令名

 

撰写command文件要求 

首先对于文件名没什么要求,内部需要定义一个Command类并继承BaseCommand类或其子类。

文件结构

其中help是command功能作用简介,handle函数是主处理程序,add_arguments函数是用来接收可选参数的

简单测试

# -*- coding: utf-8 -*-
# __author__ = 'dandy'
from django.core.management.base import BaseCommand

class Command(BaseCommand):
    help = 'test'

    def handle(self, *args, **options):
        print('test')

带参数的测试

# -*- coding: utf-8 -*-
# __author__ = 'dandy'
from django.core.management.base import BaseCommand

class Command(BaseCommand):

    def add_arguments(self, parser):
        parser.add_argument('aaa', nargs='+', type=int)
        parser.add_argument('--delete',
                            action='store_true',
                            dest='delete',
                            default=False,
                            help='Delete poll instead of closing it')

    def handle(self, *args, **options):
        print('test')
        print(args, options)

options里面直接取参数就可以了。

 1 # -*- coding: utf-8 -*-
 2 # __author__ = 'dandy'
 3 from django.core.management.base import BaseCommand
 4 from django.conf import settings
 5 import requests
 6 import os
 7 import threading
 8 
 9 command_path = os.path.join(settings.BASE_DIR, 'api', 'management', 'commands')
10 file = os.path.join(command_path, 'api_urls')
11 
12 
13 class Command(BaseCommand):
14     help = 'test cost time for each api when getting data .We have set a middleware and create a file for log.' \
15            'here just send request by thread pool'
16 
17     def handle(self, *args, **options):
18         url_list = []
19         try:
20             if not os.path.exists(file):
21                 raise FileNotFoundError('ERROR!!!! no file named api_urls in %s' % file)
22             with open (file, 'rb') as obj:
23                 urls = obj.readlines()
24                 if not len(urls):
25                     raise Exception('ERROR!!! api_urls is a empty file !!')
26                 for url in urls:
27                     url = url.strip()
28                     if url:
29                         t = threading.Thread(target=self.get_url, args=(url,))
30                         # t.setDaemon(True)  # set True and you don't need to wait until main thread finished
31                         t.start()
32             print('send all request successfully !')
33         except Exception as e:
34             print(e)
35 
36     def get_url(self, url):
37         requests.get(url)
实战1
1 http://www.baidu.com
2 http://www.qq.com
api_urls

 

转载于:https://www.cnblogs.com/wuzdandz/p/9724360.html

### 回答1: Django SimpleUI 是一个基于 Django 的后台管理系统框架,它提供了一些简单易用的页面定制功能,可以让开发者快速定制自己的后台管理页面。 要定制 Django SimpleUI 的页面,可以通过修改模板文件来实现。首先需要了解 SimpleUI 的模板结构和页面组成,然后根据自己的需求进行修改。 SimpleUI 的模板文件位于项目的 templates 目录下,其中包括了基础模板和各个页面的模板。可以通过修改这些模板文件来修改页面的布局、样式和功能。 除了修改模板文件,还可以通过自定义 SimpleUI 的组件来实现页面定制。SimpleUI 提供了一些常用的组件,如表格、表单、图表等,但是如果需要更复杂的组件,可以通过自定义组件来实现。 总之,Django SimpleUI 提供了很多方便的页面定制功能,可以让开发者快速定制自己的后台管理页面,提高开发效率。 ### 回答2: Django SimpleUI 是一款基于 Python Django 框架开发的开源后台管理界面组件库,使用 SimpleUI 可以快速搭建出简洁美观的后台管理界面。在使用 SimpleUI 进行页面定制时,可以根据自己的需要进行定制化操作,达到更好的用户体验。 以下是 Django SimpleUI 页面定制的步骤: 1. 安装 SimpleUI 组件库 在 Django 项目中使用 SimpleUI 组件库,需要先安装 SimpleUI。可以通过 pip 命令进行安装: pip install django-simpleui 2. 配置 SimpleUI 组件库 安装完成后,在 Django 项目的 settings.py 文件中添加 SimpleUI 的配置信息: ```python INSTALLED_APPS = [ # ... 'django_simpleui', ] MIDDLEWARE = [ # ... 'django_simpleui.middleware.DjangoSimpleUiMiddleware', ] SIMPLEUI_HOME_INFO = False SIMPLEUI_DATETIME_FORMAT = "Y-m-d H:i:s" ``` 3. 使用 SimpleUI 提供的模板和静态资源 SimpleUI 提供了统一的模板和静态资源,在 Django 项目中可以直接引用,从而减少重复的开发工作。在 Django 项目中的 templates 文件夹中创建一个 simpleui 文件夹,在该文件夹下创建一个 base.html 文件,内容如下: ```html {% extends 'simpleui/base.html' %} {% load static %} {% block scripts %} <!-- 需要引用的第三方 JS 文件 --> <script src="{% static 'js/jquery-3.6.0.min.js' %}"></script> <script src="{% static 'js/bootstrap.min.js' %}"></script> <!-- 需要引用的自定义 JS 文件 --> <script src="{% static 'js/custom.js' %}"></script> {% endblock %} ``` 在 Django 项目中的 static 文件夹下创建一个 simpleui 文件夹,在该文件夹下添加需要用到的 CSS、JS 等静态资源文件。 4. 创建 SimpleUI 页面定制文件 在 Django 项目中的 templates 文件夹下创建一个 simpleui 文件夹,然后在该文件夹下创建一个名为 app_index.html 的文件,用于对 SimpleUI 中的应用首页进行定制。在该文件中可以使用 SimpleUI 提供的模板标签和变量进行页面的定制操作,示例代码如下: ```html {% extends 'simpleui/base.html' %} {% block content %} <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-header border-bottom-0"> <h3 class="card-title"><i class="fe fe-layout"></i> 自定义标题</h3> </div> <div class="card-body"> <!-- 卡片主体内容 --> </div> </div> </div> </div> {% endblock %} ``` 需要注意的是,在 app_index.html 中,可以使用一些 SimpleUI 提供的模板标签和变量来进行页面的定制操作。例如,{% block content %} 和 {% endblock %} 之间的部分就是用于自定义应用首页的内容。 5. 启动 Django 开发服务器 配置完成后,需要在终端中启动 Django 开发服务器,然后在浏览器中访问 http://localhost:8000/admin 即可查看 SimpleUI 打造的后台管理系统,用户可以根据自己的需求进行页面定制,目的是为了达到良好的用户体验和页面美观程度。 总之,通过以上的步骤就可以在 Django 项目中使用 SimpleUI 进行页面定制,达到页面美观和良好用户体验的目的。简单易用的使用界面带来了极大的便利,不仅简化了开发流程,而且同时使得后端程序员快速处理一些烦琐的后台管理事宜,形成一个高效的工作流程。 ### 回答3: Django SimpleUI是一种基于Django框架和Bootstrap样式的开源后台管理页面定制模板。它提供了多种适用于不同需求的页面模板,可以快速地搭建后台管理页面,而且使用起来也非常简单。 Django SimpleUI的页面定制主要包括以下几个方面: 1. 首先,需要在Django项目中安装Django SimpleUI的依赖库。这可以通过pip命令进行安装,命令如下:pip install django-simple-ui 2. 安装成功之后,在Django项目的settings.py中添加SimpleUI应用。可以在INSTALLED_APPS列表中添加'simpleui'即可。 3. 接着,在Django项目的urls.py文件中添加SimpleUI的路由配置。在urlpatterns列表中添加url(r'^simpleui/', include('simpleui.urls'))即可。 4. 配置完毕后,就可以在后台管理页面中使用SimpleUI的模板了。SimpleUI提供了多种页面模板,包括默认模板、空白模板、简单模板、卡片模板、表格模板等。用户可以根据项目需求选择相应的模板,并进行定制化配置。 5. 定制化配置主要包括:修改页面标题、Logo图标,更换页面背景、调整页面布局、增加自定义菜单和功能、修改表单和列表样式、添加JavaScript脚本等。这些配置可以通过修改Django SimpleUI的配置文件进行,具体可以参考Django SimpleUI的官方文档。 总之,Django SimpleUI是一种非常实用的后台管理页面定制模板,它提供了多种样式和配置选项,可以帮助开发者快速搭建优雅美观的后台管理页面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值