2012-01-25 16 views
0

私はdreamhostに自分のアプリケーションをデプロイしましたが、ファイルをアップロードするときには動作しなくなりました。乗客は500の内部エラーを生成するだけです。それは私の開発のセットアップで動作します。私は、標準の404エラー(デバッグ、まだ有効になっている)を取得実稼働環境に移行するとアプリケーションが破損する

import sys, os 
sys.path.append(os.getcwd()) 
sys.path.append(os.path.join(os.getcwd(), '/photosoc')) 

os.environ['DJANGO_SETTINGS_MODULE'] = "photosoc.settings" 
import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 


私の乗客のファイルは次のようになります。私は私のURLからしかしファイルを変更することがありました:次のよう

from django.conf.urls.defaults import patterns, include, url 
from competition.models import Image 
from competition import * 
from django.contrib import admin 
from django.contrib.staticfiles.urls import staticfiles_urlpatterns 
from django.conf import settings 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 
admin.site.register(Image) 

urlpatterns = patterns('', 
    # Examples: 
    # url(r'^$', 'photosoc.views.home', name='home'), 
    # url(r'^photosoc/', include('photosoc.foo.urls')), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    url(r'^admin/', include(admin.site.urls)), 
# url(r'^image/$', 'competition.views.index'), 
    url(r'^image/uploadImage', 'competition.views.uploadImage'), 
    url(r'^image/uploadCompleted', 'competition.views.uploadCompleted'), 
    url(r'^image/uploadFailed', 'competition.views.uploadFailed'), 
) 

urlpatterns += patterns('', 
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT})) 

from django.conf.urls.defaults import patterns, include, url 
from competition.models import Image 
from competition import * 
from django.contrib import admin 
from django.conf import settings 

# Uncomment the next two lines to enable the admin: 
from django.contrib import admin 
admin.autodiscover() 
admin.site.register(Image) 

urlpatterns = patterns('', 
    # Examples: 
    # url(r'^$', 'photosoc.views.home', name='home'), 
    # url(r'^photosoc/', include('photosoc.foo.urls')), 

    # Uncomment the admin/doc line below to enable admin documentation: 
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')), 

    # Uncomment the next line to enable the admin: 
    url(r'^admin/', include(admin.site.urls)), 
# url(r'^image/$', 'competition.views.index'), 
    url(r'^image/uploadImage', 'competition.views.uploadImage'), 
    url(r'^image/uploadCompleted', 'competition.views.uploadCompleted'), 
    url(r'^image/uploadFailed', 'competition.views.uploadFailed'), 
) 

これは、私が開発から生産への切り替えからのアプリケーションに加えた変更のみです。だから何が間違っていたのだろうか?

+0

他のURLは動作しますか? dreamhostの –

+0

あなたのウェブサーバーのログにアクセスできますか?それは500を生成している場合、エラーはどこかでロギングする必要がありますか? – dm03514

+0

スタックトレースを読んで(そしてここに投稿することができるように)サーバログにアクセスするようにしてください。ログにアクセスできない場合は、設定で管理者の電子メールアドレスを設定する必要がありますが、問題の可能性については、より良い考えが得られます。 –

答えて

0

権限の問題がある可能性があります。

イメージファイルを作成しているようです。 Djangoを実行しているプロセスにファイルを書き込む権限がありますか? ./manage.py runserverを使用してDjangoをローカルで実行している場合Djangoは、コマンドラインから実行するユーザの権限を取得しますが、通常の運用環境ではApacheユーザの権限で実行します。このユーザーは、これらのイメージファイルを書き込む権限を持っていない可能性があります。書き込みディレクトリを一時的に/ tmpにハードコーディングして、違いがあるかどうかを調べることができます。

もちろん、何が起きているのかを知るには、500のエラースタックトレースが必要です。

関連する問題