Article View: pl.comp.lang.python
Article #15821Re: [Django] url_for
From: ciukes
Date: Mon, 19 Jun 2006 09:50
Date: Mon, 19 Jun 2006 09:50
50 lines
2737 bytes
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-mailReferences:
<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