2009-06-24 11 views
11

Django projemi mod_wsgi kullanarak Apache'de çalışacak şekilde yapılandıracağım. Apache'de 'cflow' dizininin altında Django'yu çalıştırmaya çalışıyorum, ancak yönlendirmelerle ilgili sorun yaşıyorum.Django Apache Yönlendirme Sorunu

Benim apache conf şuna benzer:

... 
WSGIScriptAlias /cflow "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi\django.wsgi" 
<Directory "C:\Program Files\Apache Software Foundation\Apache2.2\wsgi"> 
    Order allow,deny 
    Allow from all 
</Directory> 
<Directory "C:\Projects\myproject\src"> 
    Order allow,deny 
    Allow from all 
</Directory> 

İçine çalıştırıyorum sorun kullanıcı oturum değilse, /cflow/somepage.html için bir istek için reidrected edilecek olmasıdır/hesapları/login? next =/cflow/somepage.html. Bu yeni adres django kökü (cflow) altında değildir, bu nedenle apache 404 Bulunamadı.

Sorum şu: Django yönlendirmelerinin apache'deki uygulama kök dizininin altında olması için nasıl eşlenmiş olabilirim? Yani/accounts/... sayfasını nasıl yapabilirim/cflow/accounts/...?

Yardımlarınız için teşekkür ederiz.

cevap

15

Denenmesi gerekenler: "sites" framework yılında

  1. Değişim akım domain için "yourdomain.tld/cflow". Django admin veya dumpdata/loaddata manage.py komutlarını kullanarak yapmak çok kolay.

  2. Sitenizin login_required dekoratörünü kullanmış gibi görünüyor. bu özel durumda settings.py ekleyebileceğiniz:

    LOGIN_URL = '/ cflow/hesap/giriş /'

+3

teşekkür ederiz. Django uygulamasına şeffaf bir çözüm olmasını umuyordum. Siteyi bir adreste/sunucuda test edebilmek ve herhangi bir ek yapılandırma yapmadan başka bir yere dağıtmak istiyorum. Yine de siteler çerçevesine bakacağım. Bahşiş için teşekkürler. – liminal

+1

Ben de daha kolay olacağını düşündüm, ama bu kesinlikle doğru bir cevaptır. Aynı problemi yaşıyordum ve sonunda bu cevabı buldum. Teşekkürler alex! –