簡體   English   中英

未知命令:'collectstatic'Django 1.7

[英]Unknown command: 'collectstatic' Django 1.7

我想做靜態文件。 我使用Django 1.7和Python 2.7.5以及openshift托管。 當我嘗試運行時:

python manage.py collectstatic

我明白了:

Unknown command: 'collectstatic' Type 'manage.py help' for usage.

在我的settings.py中:

... 
INSTALLED_APPS = (
   'django.contrib.staticfiles',

   'django.contrib.admin',

   'django.contrib.auth',

   'django.contrib.contenttypes',

   'django.contrib.sessions',

   'django.contrib.messages',

   'testapp',

)

TEMPLATE_CONTEXT_PROCESSORS = (
   'django.core.context_processors.static',

)
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': os.environ['OPENSHIFT_APP_NAME'],
        'USER': os.environ['OPENSHIFT_MYSQL_DB_USERNAME'], 
        'PASSWORD': os.environ['OPENSHIFT_MYSQL_DB_PASSWORD'],
        'HOST': os.environ['OPENSHIFT_MYSQL_DB_HOST'],
        'PORT': os.environ['OPENSHIFT_MYSQL_DB_PORT'],
    }
}
STATIC_ROOT = ''    
STATIC_URL = '/static/'
...

很多人都有這個問題。 他們在INSTALLED_APPS中忘記了'django.contrib.staticfiles'。 但我有這個設置。

好的,我運行幫助:

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

 Traceback (most recent call last):
 ...
 File "c:\Python27\lib\os.py", line 423, in __getitem__
   return self.data[key.upper()]
 KeyError: 'OPENSHIFT_APP_NAME'

OPENSHIFT_APP_NAME - 環境變量(鏈接: https ://www.openshift.com/page/openshift-environment-variables)你能幫幫我嗎?

看起來它無法找到環境變量OPENSHIFT_APP_NAME 您應該嘗試設置它,看看是否能解決問題。 Django無法導入您的設置,因為它無法找到該環境變量。

那些環境變量看起來像是由openshift設置的。 您可能正在未設置它們的shell中運行該collectstatic命令。 您需要在shell中設置它們或編輯settings.py才能處理這種情況。 像這樣的東西會起作用:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': os.environ.get('OPENSHIFT_APP_NAME', 'A sensible default'),

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM