django application 作成コマンド create_app は 1.10 以上だと使えなかった


django-extentions に create_app という
コマンドがあります。

django の標準コマンドにも、
startapp コマンドがあり、何が違うのか、調べた結果を記載します。

前提

使用しているVersion は以下の通りです。

Django (1.10)
django-extensions (1.7.2)

create_app コマンドを実行する

python3 manage.py create_app festivals_crawler
------------------------------------
CommandError: This command is deprecated. Please use "startapp --template" instead.
------------------------------------

[このcommandは廃止されたので、startapp を使ってください] と言われます。

ソースコードを確認したところ、
django-extensions/create_app.py at master · django-extensions/django-extensions

    if django.VERSION[:2] >= (1, 10):
        raise CommandError("This command is deprecated. Please use \"startapp --template\" instead.")

version 1.10 からは、例外を発生するようになっていました。

application を指定しないと、 以下のような、helpが出力されます。

python3 manage.py create_app
-------------------------------------------------------------
usage: manage.py create_app [-h] [--version] [-v {0,1,2,3}]
                            [--settings SETTINGS] [--pythonpath PYTHONPATH]
                            [--traceback] [--no-color]
                            [--template APP_TEMPLATE]
                            [--parent_path PARENT_PATH] [-d]
                            [--diagram DIA_PATH]
                            app_name
-------------------------------------------------------------

--diagram というオプションがあり、
拡張子[.dia]ファイルを指定可能なのかもしれません。

start_app コマンドを実行する

標準コマンドの方です。
以下で、applicayionの雛形が生成できます。

 python3 manage.py startapp festivals_crawler

以上です。

コメント