所以我尝试部署到我的生产环境,除了根URL之外,每个视图都会出现500个错误:http://5buckchuck.com/
错误似乎是apache错误,而不是花哨的django错误:
内部服务器错误
服务器遇到内部问题 错误或错误配置,是 无法完成您的请求。
请与服务器联系 管理员, webmaster@5buckchuck.com并告知 它们发生错误的时间, 以及你可能做过的任何事情 可能导致错误。
有关此错误的详细信息可能有效 在服务器错误日志中可用。
根据服务器错误日志:
[Thu Jul 07 22:04:53 2011] [错误] [客户我的IP]请求超出了 由于的10个内部重定向的限制 可能的配置错误。使用 'LimitInternalRecursion'增加 必要时限制。使用'LogLevel 调试'以获得回溯。
的信息:
我不太确定去哪里。更好的伐木肯定有帮助。任何帮助将不胜感激。
按要求:
settings.py
DEBUG = True
TEMPLATE_DEBUG = DEBUG
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
#'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
)
AUTHENTICATION_BACKENDS = (
'django.contrib.auth.backends.ModelBackend',
'allauth.account.auth_backends.AuthenticationBackend',
)
ROOT_URLCONF = 'fivebuckchuck.urls'
TEMPLATE_DIRS = (
'/home/MyUserName/5buckchuck.com/fivebuckchuck/templates'
)
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
#5BC Stuff
'winerater',
#all-auth apps,
'emailconfirmation',
'uni_form',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.twitter',
'allauth.openid',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'allauth.context_processors.allauth',
'allauth.account.context_processors.account',
'django.core.context_processors.media',
'django.contrib.auth.context_processors.auth',
'django.core.context_processors.request',
)
和urls.py
from django.conf.urls.defaults import *
from winerater.views import *
from settings import MEDIA_ROOT
from django.views.generic.simple import direct_to_template
from django.views.generic.simple import redirect_to
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Example:
# (r'^mobile_5BC/', include('mobile_5BC.foo.urls')),
# Uncomment the admin/doc line below and add 'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/', include(admin.site.urls)),
(r'^$', front_page),
(r'^user/(\w+)/$', user_page),
(r'^login/$', 'django.contrib.auth.views.login'),
(r'^login/success/$', direct_to_template,
{'template': 'front_page'}),
#(r'^accounts/login/$', 'django.contrib.auth.views.login'),
(r'^logout/$', logout_page),
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
{'document_root': MEDIA_ROOT}),
(r'^register/$', register_page),
(r'^register/success/$', redirect_to,
{'url': '/login/'}),
(r'^save/$', wine_add_page),
(r'detail/(\w+)/', wine_detail_page),
(r'wine_image/(\w+)/$', wine_image),
(r'wines/([^\s]+)/$', wine_results),
(r'review/(\w+)/$', wine_review_page),
(r'^accounts/', include('allauth.urls')),
(r'^accounts/profile/', front_page),
)
和passenger_wsgi.py
import sys, os
INTERP = '/home/MyUserName/local/bin/python' # Is my actual username
if sys.executable != INTERP:
os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
sys.path.append(os.getcwd()+'/fivebuckchuck')
os.environ['DJANGO_SETTINGS_MODULE'] = "fivebuckchuck.settings"
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
答案 0 :(得分:1)
问题最终是Dreamhost写了一个.htaccess文件,里面有PHP的项目,这颠覆了Django的URL读取方案。希望这可以帮助其他用户。
答案 1 :(得分:0)
您应该检查您的apache配置是否有不必要的重定向/重写/别名行。首先删除所有这些。
答案 2 :(得分:0)
这可能需要一些来回解决。我的初步猜测是您的 passenger_wsgi.py 文件存在问题。如果您没有在开发环境中使用Apache(例如使用Django的 runserver ),那么您将不会遇到此文件,因此在开发环境中不会出现问题。确保此行指向正确的Django设置文件。
os.environ['DJANGO_SETTINGS_MODULE'] = "fivebuckchuck.settings"
http://5buckchuck.com/media/给了我这个错误:
An error occurred importing your passenger_wsgi.py
(过去时,你已经改变了一些东西,现在这个URL现在给出了一个“Hello World!”Python消息。现在它是一个带有调试回溯的ImportError。嘿嘿,好的我会让这个答案停留片刻。)
这可能是一个远景,但请阅读this。这是James Bennett关于为Django设置和加载设置的方法。您可以尝试导入设置并将其提供给setup_environ()。