2014-01-21 74 views
5

我希望用內PyCharm 2.7.3更新的Django(1.7.dev)......所以它是安裝在我的項目的virtualenv中唯一的Django的版本。PyCharm發現新的核心Django(而不是應用程序)manage.py任務?

但是,「工具」 - >「運行manage.py任務」列表沒有發現包含在Django自身中的新命令,如migratemakemigrations。 (基於與像南方的應用程序之前的經驗,我希望所有可用的任務將被自動發現。)

有沒有一種方法來幫助PyCharm 2.7.3發現和使用這些新的選項?

+0

更新:還沒有學會一種方法讓這些命令出現在PyCharm「Run manage.py任務」列表中。當然可以在PyCharm之外運行它們,並且它們也可以作爲自定義「運行/調試配置」添加,以便在PyCharm中交替執行。我還沒有遇到任何其他塊在PyCharm 2.7.3中使用Django 1.7.dev。我懷疑「Run manage.py任務」列表是[hardcoded-options + app-autodiscoveries],而不是[autodiscovered-built-ins + app-autodiscoveries],因爲列表仍然包含選項(如'cleanup') 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 

那麼你有一個問題,因爲2.7可以PyCharm不明白這一點。所以,我的建議是你按照我向你展示的方式創建了元組。

+0

唉,那不是。我沒有這樣連接INSTALLED_APPS列表。而且,像'makemigrations'這樣的命令並不是來自應用程序;他們是Django 1.7.dev本身的一部分。 (參見他們例如內部'的https:// github.com/django的/ django的/樹/主/ django的/型芯/管理/ commands'。) – gojomo

+0

@gojomo然後,這是因爲2.7只支持高達1.5,和1.7 _will_進來3. –

+0

PyCharm 3.0.1已經不存在了,它的文檔只聲明對Django 1.5的正式支持。儘管如此,通常可以在PyCharm中使用後來的Django版本,並且應用程序中的自動發現命令表明也可能發現內置插件。所以仍然希望能夠找到實際的限制或可能的解決方法。 – gojomo

1

「工具」 - >「運行manage.py任務」沒有看到makemigration或遷移的說法。

您可以在您的項目上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」

現在運行該腳本,它的工作原理

相關問題