Poniżej znajdują się odpowiednie pliki konfiguracyjne, również pod adresem http://dpaste.com/97213/.Uruchom Django z prefiksem URL ("podkatalog") - aplikacja działa, ale adresy URL są zepsute?
Konfiguracja apache działa, ponieważ dostęp do "example.com/" pokazuje plik index.html, który umieściłem w katalogu głównym dokumentu.
Chciałbym podawać Django/aplikacje pod przedrostkiem "/ d", więc "example.com/d/" załaduje domyślną aplikację, "example.com/d/app3" załaduje inną, ponieważ skonfigurowane w urls.py.
Obsługa Django, korzystam z sugerowanego mod_wsgi na Linuksie.
Obecnie mogę uzyskać dostęp do aplikacji Bilet na stronie 'example.com/d', ale kiedy @login_required decorator próbuje wysłać mnie na stronę logowania, wysyłam wiadomość na adres "example.com/accounts/login", zamiast oczekiwanego "example.com/d/accounts/login".
Ponieważ domyślnie aplikacja ładuje się poprawnie, nie jestem pewien, co robię tutaj I am, lub jeśli jest to błąd w Django podczas generowania adresów URL.
Wszelkie sugestie?
EDIT: Na marginesie, jeśli zmienię linię apache config: WSGIScriptAlias / d /home/blah/django_projects/Tickets/apache/django.wsgi do WSGIScriptAlias //home/bla/django_projects /Tickets/apache/django.wsgi Aplikacja, komentowanie i logowanie wszystko działa dobrze. Nawet przejście do "example.com/admin" spowoduje załadowanie administratora, chociaż media administracyjne zostały zerwane, więc nie są ładowane żadne arkusze stylów.
--- Configs następująco:
#
# /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 [email protected]
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>
Proszę nie usuwać własnego pytania (z powodu, o którym wspomniałeś). Uważam, że administrator może cofnąć usunięcie Twojego posta, ale prawdopodobnie nie będzie nawet, gdyby lepiej go zachować. Ale proszę przyjąć własne rozwiązanie po upływie obowiązkowego okresu oczekiwania. –