2016-04-16 13 views
0

ここ数週間、Aldrynサイトで働いているうちにpython manage.py migrateを実行しようとしたことがあります。それは私にはあまり心配していないが、私はおそらく(私はかなりDjangoのCMSとその方法に新しいです、と私は後で私が今働いていない場合は、これが私をかわす恐れがあると思う)。Aldrynプロジェクトでは、Manage.pyの移行は今までにはうまくいきませんでした。

Joey-Keetons-Mac-Pro-2:fringeclass sparkholiday$ python manage.py migrate 
    /Users/sparkholiday/Documents/aldryn workspace folder/fringeclass/addons/aldryn- 
    django/aldryn_config.py:48: RuntimeWarning: no database configured. Falling back 
    to DATABASE_URL=sqlite:////Users/sparkholiday/Documents/aldryn workspace folder 
    /fringeclass/data/db.sqlite3 
     RuntimeWarning, 
    /Users/sparkholiday/Documents/aldryn workspace folder/fringeclass/addons/aldryn- 
    django/aldryn_config.py:56: RuntimeWarning: no cache configured. Falling back to 
    CACHE_URL=locmem:// 
     RuntimeWarning, 
    Traceback (most recent call last): 
     File "manage.py", line 7, in <module> 
     startup.manage(path=os.path.dirname(os.path.abspath(__file__))) 
     File "/Library/Python/2.7/site-packages/aldryn_django/startup.py", line 12, in 
    manage 
     utility.execute() 
    File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", l 
ine 302, in execute 
     settings.INSTALLED_APPS 
    File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 55, in 
__getattr__ 
    self._setup(name) 
    File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 43, in 
_setup 
    self._wrapped = Settings(settings_module) 
    File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 99, in 
__init__ 
    mod = importlib.import_module(self.SETTINGS_MODULE) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/i 
mportlib/__init__.py", line 37, in import_module 
    __import__(name) 
    File "/Users/sparkholiday/Documents/aldryn workspace folder/fringeclass/settin 
gs.py", line 28, in <module> 
    aldryn_addons.settings.load(locals()) 
    File "/Library/Python/2.7/site-packages/aldryn_addons/settings.py", line 142, 
in load 
    settings_json_path=settings_json_path, 
    File "/Library/Python/2.7/site-packages/aldryn_addons/settings.py", line 174, 
in load_addon_settings 
    aldryn_config.Form().to_settings(addon_settings, settings) 
    File "/Users/sparkholiday/Documents/aldryn workspace folder/fringeclass/addons 
/aldryn-django/aldryn_config.py", line 123, in to_settings 
    self.server_settings(settings, env=env) 
    File "/Users/sparkholiday/Documents/aldryn workspace folder/fringeclass/addons 
/aldryn-django/aldryn_config.py", line 211, in server_settings 
    os.path.dirname(settings['NGINX_CONF_PATH']), 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/posixpat 
h.py", line 122, in dirname 
     i = p.rfind('/') + 1 
AttributeError: 'NoneType' object has no attribute 'rfind' 

私はPythonでNoneType状況は何かが呼び出されていることを意味していることを知っている存在しないか、適切に定義されていない、それが指しているようです。ここでは、コマンドを実行しているときに私が手出力ですここNGINXの設定には、私はそれを修正する手掛かりがありません。他のスレッドの誰か(どこを覚えていないか)は、誰かがNGINXを含むコードセグメントを取り除くことによって、基本的に同じ問題を解決することを示唆しましたが...私はそれが必要です!ここでaldryn-djangoためaldryn_config.pyファイル内の一部の周りのコードでは、(私は誰もが全体のファイルを投稿するために私を望んでいるとは思わないが、それがお手伝いしますならば、私はそれを編集します)です:

def server_settings(self, settings, env): 
    settings['PORT'] = env('PORT', 80) 
    settings['BACKEND_PORT'] = env('BACKEND_PORT', 8000) 
    settings['ENABLE_NGINX'] = env('ENABLE_NGINX', False) 
    settings['ENABLE_PAGESPEED'] = env(
     'ENABLE_PAGESPEED', 
     env('PAGESPEED', False), 
    ) 
    settings['ENABLE_BROWSERCACHE'] = env(
     'ENABLE_BROWSERCACHE', 
     env('BROWSERCACHE', False), 
    ) 
    settings['BROWSERCACHE_MAX_AGE'] = env('BROWSERCACHE_MAX_AGE', 300) 
    settings['NGINX_CONF_PATH'] = env('NGINX_CONF_PATH') 
    settings['NGINX_PROCFILE_PATH'] = env('NGINX_PROCFILE_PATH') 
    settings['PAGESPEED_ADMIN_HTPASSWD_PATH'] = env(
     'PAGESPEED_ADMIN_HTPASSWD_PATH', 
     os.path.join(
      os.path.dirname(settings['NGINX_CONF_PATH']), 
      'pagespeed_admin.htpasswd', 
     ) 
    ) 
    settings['PAGESPEED_ADMIN_USER'] = env('PAGESPEED_ADMIN_USER') 
    settings['PAGESPEED_ADMIN_PASSWORD'] = env('PAGESPEED_ADMIN_PASSWORD') 
    settings['DJANGO_WEB_WORKERS'] = env('DJANGO_WEB_WORKERS', 3) 
    settings['DJANGO_WEB_MAX_REQUESTS'] = env('DJANGO_WEB_MAX_REQUESTS', 500) 
    settings['DJANGO_WEB_TIMEOUT'] = env('DJANGO_WEB_TIMEOUT', 120) 

そして、私のsettings.py (これはもっと長くしようとしているからです):

# -*- coding: utf-8 -*- 

INSTALLED_ADDONS = [ 
    # <INSTALLED_ADDONS> # Warning: text inside the INSTALLED_ADDONS tags is auto-generated. Manual changes will be overwritten. 
    'aldryn-addons', 
    'aldryn-django', 
    'aldryn-sso', 
    'aldryn-django-cms', 
    'aldryn-devsync', 
    'aldryn-background-image', 
    'aldryn-bootstrap3', 
    'aldryn-categories', 
    'aldryn-common', 
    'aldryn-disqus', 
    'aldryn-emailsettings', 
    'aldryn-faq', 
    'aldryn-forms', 
    'aldryn-gallery', 
    'aldryn-mailchimp', 
    'aldryn-newsblog', 
    'aldryn-people', 
    'aldryn-style', 
    'djangocms-fbcomments', 
    'reversion', 
    'aldryn_reversion', 
    'sortedm2m', 
    'taggit', 
    'filer', 
    'easy_thumbnails', 
    'djangocms_text_ckeditor', 
    'aldryn_translation_tools', 
    'aldryn_boilerplates', 

    # </INSTALLED_ADDONS> 
] 

import aldryn_addons.settings 
aldryn_addons.settings.load(locals()) 


# all django settings can be altered here 

INSTALLED_APPS.extend([ 
    # add you project specific apps here 
]) 

ALDRYN_BOILERPLATE_NAME='bootstrap3' 

TEMPLATE_CONTEXT_PROCESSORS.extend([ 

'aldryn_boilerplates.context_processors.boilerplate', 
    # add your template context processors here 
]) 

THUMBNAIL_PROCESSORS = (
    'easy_thumbnails.processors.colorspace', 
    'easy_thumbnails.processors.autocrop', 
    # 'easy_thumbnails.processors.scale_and_crop', 
    'filer.thumbnail_processors.scale_and_crop_with_subject_location', 
    'easy_thumbnails.processors.filters', 
    'easy_thumbnails.processors.background', 
) 

STATICFILES_FINDERS = [ 
'django.contrib.staticfiles.finders.FileSystemFinder', 
# important! place right before  django.contrib.staticfiles.finders.AppDirectoriesFinder 
'aldryn_boilerplates.staticfile_finders.AppDirectoriesFinder', 
'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
] 

MIDDLEWARE_CLASSES.extend([ 
    # add your own middlewares here 
]) 

TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader', 
'aldryn_boilerplates.template_loaders.AppDirectoriesLoader', 
'django.template.loaders.app_directories.Loader', 
'django.template.loaders.eggs.Loader' 
) 

アドバイスをいただきありがとうございます。私はフロントエンドの編集が大好きですが、あなたのCSSを手に入れることができないなら、それはあまり役に立ちません!私はgitを使うことができると思う(gitとdockerはどちらも移行コマンドを使わずに働いているので、長い間それをやめてしまった)が、マイグレーションの不足が私の仮想環境に問題を引き起こしている疑いがある/

答えて

2

ドッカーコンテナからではなく、ローカルマシンからpython manage.py migrateを実行しているように見えます。

コンテナのパス内では(ソースコードが/app)、必要なすべての要件がインストールされており、postgresデータベースがリンクされて利用可能です。

代わりにこれを試してみてください:

docker-compose run --rm web python manage.py migrate 

はこれが何をするかです:

  • docker-compose:このコマンドは、同じディレクトリ
  • rundocker-compose.ymlファイル内の設定に基づいて、ドッキングウィンドウの操作を行います。新しいコンテナを作成して実行する
  • --rm:コンテナを後で削除するERコマンドが終了する(これは一回限りのコマンドであるので、それを周りに維持するのには意味がありません)
  • webは:のコンテキストで実行するコマンド:docker-compose.yml
  • python manage.py migrateのうち「web」サービスを選びますコンテナ

bashをコマンドとして実行することもできます。これにより、コンテナ内で対話型プロンプトが表示されます。

+0

私はこれを正しいとマークしています - コンテナの外でコマンドを実行することは間違いなく主な問題でした - しかし、私はまだこのエラーを受けています(出力全体を含めませんが、すべて新しい投稿に): 'モデルにはマイグレーションにまだ反映されていない変更があり、適用されません。 "makemigrations"を実行しても "migrate"すると同じエラーが発生します(多分私はmakemigrationsに "-rm"を付けないでください) – sparkholiday

+0

同じことが私の環境で起こります – outmind

関連する問題