2009-07-27 3 views
2

Я использую Django 1.1 rc1 и Apache 2.2.8 на Ubuntu с mod_wsgi 1.3.1 + Python 2.5.2.admin/appname/modelname urls не работает с mod_wsgi в Django 1.1rc1

Все работало нормально с внутренним веб-сервером Django, но после перехода на Apache mod_wsgi все URL-адреса, такие как /admin/appname/modelname/, начали работать. Они показывают 404 не найденные ошибки со следующим журналом:

... 
^admin/ ^$ 
^admin/ ^logout/$ 
^admin/ ^password_change/$ 
^admin/ ^password_change/done/$ 
^admin/ ^jsi18n/$ 
^admin/ ^r/(?P<content_type_id>\d+)/(?P<object_id>.+)/$ 
^admin/ ^(?P<app_label>\w+)/$ 
The current URL, admin/account/userprofile/, didn't match any of these. 

Как ни странно, /admin/appname/ и все другие частей, включая мои собственные URL просто работать нормально.

Это ошибка в Django или проблема с конфигурацией? И как его решить?

ответ

1

Я знаю, что 1.1RC1 внесла некоторые изменения в URL-адрес администратора, чтобы использовать пространства имен: это может быть вашей проблемой.

посмотреть здесь: http://docs.djangoproject.com/en/dev/releases/1.1-rc-1/

Других, чем это выглядит как URL-адрес не являются правильными в последней строке URL-адрес в трассировке будет только матч/админ/приложение /, а не/администратор/приложение/хххх , Это может помочь информация here.

по какой-либо причине это^admin/^ r/(? P \ d +)/(? P. +)/$ Не выглядит правильным, если не дать/admin // xxx/yyy /? не

Edit: не дает/администратор/г/ххх/ууу/

Я не могу проверить это прямо сейчас, как я только 1.0.2 доступны на этом компьютере (и не mod_wsgi) - I проверит 1.1, когда я вернусь домой сегодня вечером.

Edit: Похоже, этого

for model, model_admin in self._registry.iteritems(): 
    urlpatterns += patterns('', 
     url(r'^%s/%s/' % (model._meta.app_label, model._meta.module_name), 
      include(model_admin.urls)) 
    ) 
return urlpatterns 

не работают по какой-то причине, как URL-адрес не включен в пути поиска в трассировка. Правильны ли файлы admin.py?

+0

Я также знаю эти изменения. (Я отслеживал билет «неправильный выход из системы в админ».) Но если это причина, внутренний веб-сервер Django также не должен работать должным образом, но это было очень хорошо. – Achimnol

+0

По какой-то причине внутренний сервер кажется более прощающим в этой проблеме. Вы уверены, что settings.py и urls.py в обоих местах одинаковы? – Frozenskys

+0

Я попытался запустить тестовый сервер непосредственно на экземпляре проекта, который запускается через mod_wsgi, но я столкнулся с этой проблемой: http://stackoverflow.com/questions/1188205/how-to-specify-which-eth -interface-django-test-server-should-listen-on T_T – Achimnol