欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Django如何編寫自定義manage.py命令

小編給大家分享一下Django如何編寫自定義manage.py命令,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都服務(wù)器托管,成都創(chuàng)新互聯(lián)提供包括服務(wù)器租用、成都服務(wù)器托管、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、域名與空間等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18980820575

python manage.py <command> 的命令我們用了很多,要是我們想要使用一些特定的較長的命令時(shí),比如:python manage.py test --keepdb --settings=appname.test_settings(命令作用:運(yùn)行項(xiàng)目測試時(shí),使用指定的配置文件),這時(shí)每次運(yùn)行的就很麻煩,可以通過設(shè)定自定義manage.py命令來實(shí)現(xiàn)。

操作步驟要點(diǎn):

第一步:新建自定義命令模塊

在已有的項(xiàng)目中,在你要設(shè)置的項(xiàng)目app下,增加management/commands目錄,新建python模塊,模塊名不能以“_”開頭,否則模塊不會被設(shè)置為自定義命令。設(shè)置的自定義命令為模塊的名字,創(chuàng)建好后的目錄樹如下:

appname/        # django項(xiàng)目下的某個(gè)app
   __init__.py
   models.py
   management/
       commands/
           _private.py # 這模塊不會被加入到自定義命令
           newtest.py    # 這個(gè)模塊會被設(shè)置為自定義命令,命令為模塊名
   tests.py
   views.py
注意:添加自定義命令的app需要在`settings.py`INSTALLED_APPS中注冊。
第二步:編寫自定義命令功能

設(shè)置newtest.py要實(shí)現(xiàn)的功能,newtest.py的內(nèi)容:

import os
import traceback
from django.core.management.base import BaseCommand, CommandError

class Command(BaseCommand):

   def add_arguments(self, parser):

       parser.add_argument(
           dest='appname', # 參數(shù)名字
           type=str,   # 參數(shù)類型
           help='測試哪個(gè)app', # 幫助信息
       )

   def handle(self, *args, **options):
       try:
           shell_info ='python manage.py test %s --keepdb  --settings=appname.test_settings' % (options['appname'])
           os.system(shell_info)
           self.stdout.write(self.style.SUCCESS('命令%s執(zhí)行成功, 參數(shù)為%s' % (__file__, options['appname'])))
       except:
           self.stdout.write(traceback.format_exc())
           self.stdout.write(self.style.ERROR('命令執(zhí)行出錯(cuò)'))

以上功能解釋:執(zhí)行python manage.py newtest appname時(shí),就會調(diào)用test測試,并運(yùn)行指定的測試專用settings.py配置。

注意:要打印輸出信息,要使用:`self.stdout.write("Unterminated line", ending='')`,`ending=''參數(shù)是指定輸出信息后以什么結(jié)尾,不配置參數(shù)默認(rèn)是換行符。`

看完了這篇文章,相信你對“Django如何編寫自定義manage.py命令”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章名稱:Django如何編寫自定義manage.py命令
文章網(wǎng)址:http://chinadenli.net/article10/ppjodo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃虛擬主機(jī)、網(wǎng)站改版手機(jī)網(wǎng)站建設(shè)、全網(wǎng)營銷推廣網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)