2014-01-21 2 views
5

私はPyCharm 2.7.3の中で新しいDjango(1.7.dev)を使いたいと思っています。それは私のプロジェクトのvirtualenvにインストールされている唯一のDjangoバージョンです。新しいCore Django(アプリではなく)のmanage.pyタスクをPyCharmで検出していますか?

しかし、 "ツール" - "実行manage.pyタスク"リストはmigrateまたはmakemigrationsのようなDjango自体に含まれる新しいコマンドを発見していません。 (南部のようなアプリの経験に基づいて、利用可能なすべてのタスクが自動的に発見されることを期待していました)

PyCharm 2.7.3がこれらの新しいオプションを発見して使用するのに役立つ方法はありますか?

+0

更新:これらのコマンドをPyCharmの "manage manage.py task"リストに表示する方法をまだ学んでいません。 PyCharmの外で実行することはもちろん可能ですし、PyCharm内の代替実行のためにカスタム "Run/Debug Configurations"として追加することもできます。私はPyCharm 2.7.3の中でDjango 1.7.devを使うのにまだ他のブロックに遭遇していません。リストには(cleanupのような)オプションがまだ含まれていないので、[autodiscovered-built-ins + app-autodiscoveries]ではなく、[manage manage.py task]リストが[hardcoded-options + app-autodiscoveries] Django 1.7.dev。 – gojomo

答えて

0

これはおそらく、あなたがINSTALLED_APPSタプルにアプリを追加したためです。それはこのようなものですので、もし:

INSTALLED_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles', 
    # Uncomment the next line to enable the admin: 
    'django.contrib.admin', 
    # Third Party apps --------------------------------------> 
    'south', 
    'django_extensions', 
    'dajaxice', 
    'dajax', 
    # My apps -----------------------------------------------> 
    'blog', 
) 

は、その後も問題があってはならない、といない、あなたがバグを持っている場合は、あなたが探しているコマンドを見つけることができるはずです。しかし、あなたのようなものを配置している場合:

DJANGO_APPS = (
    'django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.staticfiles') 

THIRD_PARTY_APPS = (
    'south', 
    'django_extensions', 
    'dajaxice', 
    'dajax', 
) 

MY_APPS = ('blog',) 

INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + MY_APPS 

PyCharmがこれを理解できないので、2.7で問題があります。ですから、私が提案することは、あなたが最初に示したようにタプルを作成することです。

+0

ああ、そうじゃない。 INSTALLED_APPSリストを連結していません。また、それが見つからない「makemigrations」のようなコマンドは、アプリケーションから来ていません。それらはDjango 1.7.dev自身の一部です。 – gojomo

+0

@gojomoこれは、2.7が1.5までしかサポートされていなかったからです。そして1.7 _will_(これは、 'https:// github.com/django/django/tree/master/django/core/3に入ってください。 –

+0

PyCharm 3.0.1は既にリリースされており、そのドキュメントはDjango 1.5の正式なサポートのみを要求しています。それでも、PyCharmで後のDjangoバージョンを使用することはしばしばあり、コマンドの自動検出機能は、組み込み関数を発見する可能性があることを示唆しています。それで実際の限界や可能な回避策の手がかりをここでも期待しています。 – gojomo

1

「ツール」 - >「manage manage.pyタスク」は、makemigrationまたはmigrate引数を表示しません。

プロジェクトのmanage.pyファイルを右クリックしてmanage.pyを実行できます。この出力と

*

*Usage: manage.py subcommand [options] [args] 
Options: 
    -v VERBOSITY, --verbosity=VERBOSITY 
         Verbosity level; 0=minimal output, 1=normal output, 
         2=verbose output, 3=very verbose output 
    --settings=SETTINGS The Python path to a settings module, e.g. 
         "myproject.settings.main". If this isn't provided, the 
         DJANGO_SETTINGS_MODULE environment variable will be 
         used. 
    --pythonpath=PYTHONPATH 
         A directory to add to the Python path, e.g. 
         "/home/djangoprojects/myproject". 
    --traceback   Raise on exception 
    --no-color   Don't colorize the command output. 
    --version    show program's version number and exit 
    -h, --help   show this help message and exit 
Type 'manage.py help <subcommand>' for help on a specific subcommand. 
Available subcommands: 
[auth] 
    changepassword 
    createsuperuser 
[django] 
    check 
    compilemessages 
    createcachetable 
    dbshell 
    diffsettings 
    dumpdata 
    flush 
    inspectdb 
    loaddata 
    makemessages 
    makemigrations 
    migrate 
    runfcgi 
    shell 
    sql 
    sqlall 
    sqlclear 
    sqlcustom 
    sqldropindexes 
    sqlflush 
    sqlindexes 
    sqlinitialdata 
    sqlmigrate 
    sqlsequencereset 
    squashmigrations 
    startapp 
    startproject 
    syncdb 
    test 
    testserver 
    validate 
[sessions] 
    clearsessions 
[staticfiles] 
    collectstatic 
    findstatic 
    runserver* 

*

あなたが "makemigrations" を参照してくださいとDjango

で使用可能なサブコマンドにあなたが持っている "移行" することができたようスクリプトパラメータに「実行」→「構成の編集」を選択し、「makemigrations」または「migrate」を追加します

スクリプトを実行すると動作します

関連する問題