🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #15821

Re: [Django] url_for

#15821
From: ciukes
Date: Mon, 19 Jun 2006 09:50
50 lines
2737 bytes
Jaroslaw Zabiello wrote:
> Mam problem z działaniem resolvera Django dla adresów URL. Powiedzmy, że
> mam aplikację która była podpięta do /
> 
> urlpatterns = patterns('',
>     (r'', include('django_project.app1.urls')),
> )
> 
> zaś appl/urls.py ma:
> 
> urlpatterns = patterns('django_project.app1.views',
>     (r'^$', 'home'),
>     (r'^info/', 'info'),
> )
> 
> w szablonach nie mogę stosować względnych adresów <a href="info">... bo jak
> wejdę na http://localhost:8000/info ten link zmieni się z /info na
> /info/info czyli bez sensu. Zaś jak wstawię mu bezwględną ściężkę to będę
> miał inny problem. Ten problem pojawi się w wypadku próby przeniesienia
> aplikacji wgłąb URL. Np. na poczatku miałem http://appl.domain.com a teraz
> chcę mieć tą aplikację pod http://domain.com/appl. Co się zmienia? Zmienia
> się główny urls.py n a
> 
> urlpatterns = patterns('',
>     (r'^appl/', include('django_project.app1.urls')),
> )
> 
> Zaś pliku w appls/urls.py nie zmieniam, bo nie ma co zmieniać
> 
> Wszystkie szablony zawierające adres url szlag trafia. /info nie działa.
> musi być /appl/info. Muszę ręcznie to pozmieniać we wszystkich miejsach.
> Szału można dostać. Gdyby Django stosowało coś w stylu biblioteki Routes to
> nie byłoby problemu, bo wtedy adresy URL tworzy się za pomocą wrapperów.
nie znam RoR. Jednak jesli dobrze zrozumialem twoj opis, to rola 
wraperow moze byc wykonana w django przez filtry.
> 
> Może ktoś zna jakieś sensowne obejście tego problemu?
> 
Ja to tak rozwiazalem:
- w settings.py zdefiniuj propertis, np: APP_ROOT_URL, z wartoscia np. 
/myapp
- stworz filtr do uzycia w szablonach. Filtr powinien zmieniac np.
/info na
/myapp/info

Jak przeniesiesz aplikacje pod inny url, to zmienisz APP_ROOT_URL w 
settings.py i po sprawie.

Pozdrawiam,
ciukes.
Technical Details
Message-ID: <e75s17$q57$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
References: <ls7bylgg4m07.1fr99hb4ydljv$.dlg@40tude.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail
From: ciukes <ciukes.@.gmail.DOT.com.fake>
Newsgroups: pl.comp.lang.python
Subject: Re: [Django] url_for
Date: Mon, 19 Jun 2006 10:50:20 +0100
Organization: Onet.pl
Lines: 50
Message-ID: <e75s17$q57$1@news.onet.pl>
References: <ls7bylgg4m07.1fr99hb4ydljv$.dlg@40tude.net>
NNTP-Posting-Host: 193.131.190.17
Mime-Version: 1.0
X-Trace: news.onet.pl 1150710632 26791 193.131.190.17 (19 Jun 2006 09:50:32 GMT)
X-Complaints-To: usenet@news.onet.pl
NNTP-Posting-Date: Mon, 19 Jun 2006 09:50:32 +0000 (UTC)
X-Sender: 8EVmpAvdcKEbd3OZAD5DlyoCapPVKJl2
In-Reply-To: <ls7bylgg4m07.1fr99hb4ydljv$.dlg@40tude.net>
User-Agent: Thunderbird 1.5.0.2 (X11/20060420)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit