2009-07-27 7 views
2

Ich benutze Django 1.1 rc1 und Apache 2.2.8 auf Ubuntu mit mod_wsgi 1.3.1 + Python 2.5.2.admin/appname/modelname URLs funktioniert nicht mit mod_wsgi in Django 1.1rc1

Alles funktionierte gut mit Django internen Test-Webserver, aber nach der Migration auf Apache mod_wsgi, begannen alle URLs wie /admin/appname/modelname/ nicht zu arbeiten. Sie zeigt 404 nicht gefunden Fehler mit dem folgenden Protokoll:

... 
^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. 

Merkwürdigerweise /admin/appname/ und alle anderen Teile einschließlich meiner benutzerdefinierten URLs gut funktionieren.

Ist es ein Fehler von Django oder Konfigurationsproblem? Und wie löst man es?

Antwort

1

Ich weiß, dass 1.1RC1 einige Änderungen an der Admin URL Resolver vorgenommen hat, um Namespaces zu verwenden: das könnte Ihr Problem sein.

siehe hier: http://docs.djangoproject.com/en/dev/releases/1.1-rc-1/

Andere als dass es aussieht wie die URLs nicht korrekt als letzte Zeile der URLs in dem Debug-Trace ist, würde nur Spiel/admin/app/anstatt/admin/app/xxxx . Die Information here könnte helfen.

aus irgendeinem Grund das^admin/^ r/(? P \ d +)/(? P. +)/$ Sieht nicht richtig aus würde das nicht geben/admin // xxx/yyy /?

Edit: nein, es gibt/admin/r/xxx/yyy/

ich nicht dieses Recht jetzt testen kann, wie ich nur 1.0.2 auf diesem Computer zur Verfügung habe (und keine mod_wsgi) - I werde am 1.1 testen, wenn ich heute Abend nach Hause komme.

Edit: Sieht aus wie dieses

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 

ist aus irgendeinem Grund nicht funktioniert, da die URLs sind nicht im Suchpfad in der Debug-Trace enthalten. Sind die admin.py Dateien korrekt?

+0

Ich kenne auch diese Änderungen. (Ich habe die 'inkorrekte Abmeldung link in admin' Ticket.) Aber wenn das der Grund ist, sollte Django internen Webserver auch nicht richtig funktionieren, aber es war sehr gut. – Achimnol

+0

Aus irgendeinem Grund scheint der interne Server diese Art von Problem zu verzeihen. Sind Sie sicher, dass settings.py und urls.py an beiden Standorten identisch sind? – Frozenskys

+0

Ich habe versucht, den Testserver direkt auf der Projektinstanz auszuführen, die über mod_wsgi ausgeführt werden, aber ich habe dieses Problem konfrontiert: http://stackoverflow.com/questions/1188205/how-to-specify-which-eth -interface-django-test-server-sollte-hören-auf T_T – Achimnol