[Django] get_absolute_url und manage.py

Django, Flask, Bottle, WSGI, CGI…
Antworten
bonobo
User
Beiträge: 1
Registriert: Mittwoch 22. September 2010, 09:58

Hallo Zusammen,

vielleicht hat ja hier jemand eine Idee:

Ich habe in einer Django-App ein url-Pattern:

(r'^otto/(?P<id>\d+)/$','meinModul.views',None,'otto_view')

und in der korrespondierenden get_absolute_url

return ('otto_view',[str(self.id)])

Das ganze funktioniert auch so weit ganz. Meine Default-Site (django_sites in der DB)
ist "meinServer/meineAnwendung".

Wenn ich aus dem Web eine Funktion aufrufe bekomme ich für ein Otto mit Id 1
die url "/meineAnwendung/otto/1/".

Wenn ich aus manage.py shell das ganze von Hand rufe bekomme ich aber nur
"/otto/1/".

Ich verstehe nicht, wo der Unterschied her kommt. Hat vielleicht jemand einen Tipp?

Netter Gruß

bonobo
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Das Sites Framework ist für Domains und nicht für URLs gedacht; reverse in manage.py wird immer von / ausgehen, erst im Webserverkontext kannst du das abändern (vlt gehts in manage.py via FORCE_SCRIPT_NAME, da müsste ich im Code nachgucken…)
Antworten