Laufen Django mit URL-prefix ("Unterverzeichnis") - App funktioniert, aber URLs kaputt?

Unten sind die relevanten Konfigurations-Dateien, auch bei http://dpaste.com/97213/ .

Der apache-config ist aktuell arbeiten, da der Zugriff auf 'example.com/' zeigt mir die index.html Datei habe ich gelegt auf die Dokument-root.

Ich würde gerne dienen, Django/apps auf dem Präfix '/d', also 'example.com/d/" würde das laden der Standard-app 'example.com/d/app3" würde der laden einer anderen Konfiguration in urls.py.

Portion Django, ich bin mit den vorgeschlagenen mod_wsgi, auf Linux.

Derzeit kann ich den Zugriff auf die Ticket-app auf 'example.com/d", aber wenn die @login_required Dekorator versucht, senden Sie mir die login-Seite, die ich zugeschickt bekommen 'example.com/accounts/login' statt der zu erwartenden 'example.com/d/accounts/login'.

Da die Standard-app lädt richtig, ich bin mir nicht sicher, was ich bin falsch hier, oder ist dies ein bug in Django, die beim generieren der urls.

Irgendwelche Vorschläge?

EDIT:
Als Hinweis, wenn ich die apache config Zeile:
WSGIScriptAlias /d /home/bla/django_projects/Tickets/apache/django.wsgi
zu
WSGIScriptAlias //home/bla/django_projects/Tickets/apache/django.wsgi
Die Anwendung, Kommentierung und Protokollierung in alle funktionieren. Auch zu "example.com/admin' lädt der admin, obwohl ich Links die admin-Medien gebrochen, so dass keine stylesheets geladen werden.

--- Configs Folgen:

#
# /home/blah/django_projects/Ticket/urls.py
#
from django.conf.urls.defaults import *
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    (r'^', include('ticket.urls')),
    (r'^admin/', include(admin.site.urls)),
    (r'^comments/', include('django.contrib.comments.urls')),
)


#
# /home/blah/django_projects/Ticket/apache/django.wsgi
#
import os, sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/..')

sys.path.append('/home/blah/django_projects')
sys.path.append('/home/blah/django_projects/Tickets')

os.environ['DJANGO_SETTINGS_MODULE'] = 'Tickets.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()


#
# /etc/apache2/sites-available/django_tickets_wsgi (apache conf)
#
NameVirtualHost *
<VirtualHost *>  

    Alias /media /home/blah/django_projects/Tickets/media


    WSGIScriptAlias /d /home/blah/django_projects/Tickets/apache/django.wsgi
    WSGIDaemonProcess exmaple_com user=blah group=blah processes=1 threads=10
    WSGIProcessGroup example_com

    ServerAdmin localhost@example.com
    ServerName example.com

    DocumentRoot /var/www/

    <Directory /var/www/>
        Options -Indexes FollowSymLinks -MultiViews -Includes 
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature Off

</VirtualHost>

InformationsquelleAutor anonymous coward | 2009-09-23

Schreibe einen Kommentar