2012-04-10 14 views
0

私はdjangoプロジェクトの設定ファイル 'arvindemo'をdebug = Falseに設定してApacheにデプロイする理由を知りました。 mod_wsgiを使用して、500 Internal Server Errorを取得しました。Django:TypeError: 'str'オブジェクトは呼び出し可能ではありませんreferer:http://xxxx

ENV: ジャンゴ1.4.0 のPython 2.7.2 のmod_wsgi 2.8 OSはCentOS

ここ

要約です: 訪問ホームページは、サブページのA/B/C/Dに行く、と塗りつぶしいくつかのフォームを作成し、それをApacheサーバーに送信します。 「submit」ボタンをクリックすると、「500 Internal Server Error」と以下のerror_log(Traceback)が表示されます。

「申し訳ありませんが、間違ったトラックバックを入れました。 「: PS: "StackOverflowのは、MEはMORE THAN 2つのハイパーリンクをPUTせてはいけない" = "http://58.215.177.34/Presentation"

[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250] mod_wsgi (pid=2973): Exception occurred processing WSGI script '/opt/web/django/wsgi/django.wsgi'., referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 hyperlinks 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250] Traceback (most recent call last):, referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 hyperlinks 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250] File "/opt/python2.7/lib/python2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__, referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 hyperlinks 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250]  response = self.get_response(request), referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 URLs 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250] File "/opt/python2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 179, in get_response, referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 hyperlinks 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250]  response = self.handle_uncaught_exception(request, resolver, sys.exc_info()), referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 hyperlinks 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250] File "/opt/python2.7/lib/python2.7/site-packages/django/core/handlers/base.py", line 228, in handle_uncaught_exception, referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 hyperlinks 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250]  return callback(request, **param_dict), referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 URLs 
[Tue Apr 10 11:03:15 2012] [error] [client 122.198.133.250] TypeError: 'str' object is not callable, referer: STACKOVERFLOW DON'T LET ME PUT MORE THAN 2 hyperlinks 

[「StackOverflowのを交換してくださいは、MEはMOREをPUTせてはいけませんTHAN 2つのハイパーリンク 'と' http://58.215.177.34/Presentation ']:

django runserverを使用している場合、arvindemo.settings debug =確かに、すべてがOKです。しかし、debug = Falseを設定すると事が変わった。ここで

私のviews.pyが

from django.http import HttpResponseRedirect 
from django.http import HttpResponse, HttpResponseServerError 
from django.shortcuts import render_to_response 
import datetime, string 
from user_info.models import * 
from django.template import Context, loader, RequestContext 
import settings 
def hello(request): 
    return HttpResponse("hello girl") 

def helpPage(request): 
    return render_to_response('kktHelp.html') 

def server_error(request, template_name='500.html'): 
    return render_to_response(template_name, 
      context_instance = RequestContext(request) 
    ) 

def page404(request): 
    return render_to_response('404.html') 

def submitPage(request): 
    post = request.POST 
    Mall = 'goodsName' 
    Contest = 'ojs' 
    Presentation = 'addr' 
    WeatherReport = 'city' 
    Habit = 'task' 
    if Mall in post: 
      return submitMall(request) 
    elif Contest in post: 
      return submitContest(request) 
    elif Presentation in post: 
      return submitPresentation(request) 
    elif Habit in post: 
      return submitHabit(request) 
    elif WeatherReport in post: 
      return submitWeather(request) 
    else: 
      return HttpResponse(request.POST) 
      return HttpResponseRedirect('404') 
def submitXXX(): 
    ..... 
def xxxx(): 
.... 

であるここに私が私のDjangoプロジェクトには、構文エラーがないと確信してurls.py

from django.conf.urls import patterns, include, url 
from views import * 
from django.conf import settings 

handler500 = 'server_error' 
urlpatterns = patterns('', 
    url(r'^hello/$', hello), # hello world 
    url(r'^$', homePage), 
    url(r'^time/$', getTime), 
    url(r'^time/plus/(\d{1,2})/$', hoursAhead), 
    url(r'^Ttime/$', templateGetTime), 
    url(r'^Mall$', templateMall), 
    url(r'^Contest$', templateContest), 
    url(r'^Presentation$', templatePresentation), 
url(r'^Habit$', templateHabit), 
url(r'^Weather$', templateWeather), 
url(r'^Help$', helpPage), 
url(r'^404$', page404), 
url(r'^500$', server_error), 
url(r'^submitPage$', submitPage), 
url(r'^submitMall$', submitMall), 
url(r'^submitContest$', submitContest), 
url(r'^submitPresentation$', submitPresentation), 
url(r'^submitHabit$', submitHabit), 
url(r'^submitWeather$', submitWeather), 
url(r'^terms$', terms), 
url(r'^privacy$', privacy), 
url(r'^thanks$', thanks), 
url(r'^about$', about), 
url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATICFILES_DIRS}), 
) 

は、私はジャンゴのrunserverを使用するときに起こす、来ます、 すべて順調。

誰でも手助けできますか?あなたのポストで

敬具

+0

このテキストのすべては、関連情報に短縮する必要があります。私はあなたのsettings.pyのスニペットを、クラッシュが起きたときのように見たいと思います。また、クラッシュの原因となっている正確なURLを知っているので、関連するURL情報は「templatePresentation」ビューと共に「Presentation」でなければなりません。そのビューを見る必要があります(他のものではありません)。 – jdi

+0

実際には、プレゼンテーションで問題が発生しただけでなく、他のサイトにアクセスしたときに問題が残っています(ここでは要点を説明しています:ホームページにアクセスし、サブページA/B/C /フォームを送信すると「500ページ」が発生し、それに関連するビューは「submitPage」であると思いますクラッシュの原因となっている正確なURLは「http://58.215.177.34/submitPage」です。ここに私の設定のスニペットがあります: – user705415

+0

クラッシュの適切な完全なトレースバックを見ずに、あなたのコードのどの部分がクラッシュしているかを知ることなく、私たちが助けることができるものはほとんどありません。あなたの 'submitPage'ビューでクラッシュが発生していると確信しているなら、私はprintステートメントを全部渡して値を調査し、開発サーバーの出力で出力を確認することをお勧めします。 – jdi

答えて

0

、あなたは一貫しFlaseとしてFalseのスペルを間違え。あなたは設定ファイルで正しくスペルしていますか?

+0

申し訳ありませんが、設定ファイルで正しい 'False'です:)私はその別の理由をエラーでリロードすると思います – user705415

関連する問題