Django-fr

Forum

#1 15-06-2012 08:11:05

car00x
Membre
Inscription : 31-05-2012
Messages : 39

url vers différent page de mon Template

Bonjour,


mon application  cè doctor:

Doctor

    | template (header.html , index.html, account.html, about.html...)

    | static

    | views.py

    | model.py

    | _init.py etc....

Je voudrais faire des lien entre les differents page de mon template par exemple lien de la page index.html  vers la page account.html

avec urlpatterns ca ne marche pas, comment je peux faire ca?

voici mon code urls.py

from django.conf.urls.defaults import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('all.doctor.views',
                        url(r'^$', 'index', name='index'),
                        url(r'^account$', 'account', name='account' ),                      url(r'^$', 'login', name='login'),
                        # url(r'^$', 'all.v# url(r'^about$', 'about', name='about'iews.home', name='home'),
    # url(r'^all/', include('all.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
 url(r'^admin/', include(admin.site.urls)),
                       
)

et mon code views.py

from django.shortcuts import render_to_response

def index(request):
    return render_to_response('template/index.html')


def account(request):
    return render_to_response('template/account.html')

merci

Hors ligne

#2 15-06-2012 12:25:54

FoxMaSk
Membre
Inscription : 11-08-2010
Messages : 23
Site Web

Re : url vers différent page de mon Template

Bonjour,
J'aurai tendance à penser que la premiere regexp et la troisieme etant identique ; le resultat ne sera pas celui attendu , non ?
cordialement

Hors ligne

#3 15-06-2012 19:55:40

car00x
Membre
Inscription : 31-05-2012
Messages : 39

Re : url vers différent page de mon Template

cè à quelle niveau stp?

merci

Hors ligne

#4 17-06-2012 13:20:15

car00x
Membre
Inscription : 31-05-2012
Messages : 39

Re : url vers différent page de mon Template

ca marche finalement après avoir faire quelques modification au niveau de urls.py

voici mon nouveau fichier urls.py

from django.conf.urls.defaults import patterns, include, url
from all import settings
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('all.doctor.views',
                        url(r'^$','index',name='index'),
                       url(r'^index$','index',name='index'),
                       url(r'^account$','account',name='account'),
   
# Uncomment the next line to enable the admin:
 url(r'^admin/', include(admin.site.urls)),
                       
)

mais j'ai une question pour pourvoir avoir accès à l'index à partir de  la page account j'ai dû ajouter un second url pour l'index, cè normal?
merci

Hors ligne

#5 17-06-2012 15:58:23

David Thenon
Membre
Inscription : 11-08-2010
Messages : 156
Site Web

Re : url vers différent page de mon Template

La première ligne de ta map d'urls match seulement sur la racine de ton site,
par "http://localhost/", la seconde ligne match "http://localhost/index" (sans
slash de fin) et la dernière évidemment match "http://localhost/accounts" (sans
slash de fin aussi).

Et les deux premières lignes dirigent sur la même vue, donc à priori non ce
n'est pas normal et inutile.

À priori il y a pas de problème de matching qui s'écrasent entre eux,
cependant tu devrais mentionner la nécessité du slash de fin si tu veux
"simuler" un répertoire dans ton url, par exemple pour utiliser
"http://localhost/accounts/" (avec le slash de fin) il faut faire :

>                        url(r'^account/$','account',name='account'),

Je pense que ton problème est du au faite que dans tes templates tu rédiges
toi meme tes liens "en dur" en utilisant un chemin relatif. Si c'est le cas
c'est une très mauvaise idée, dans les templates on utilise simplement le
templatetag qui s'occupe de retrouver automatiquement l'url correct :
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#url

Cela nécessite bien sur que tes urls soient toute correctement nommés et que
tes routes soient bien établies (pas de problème de match, etc..) mais une
fois en place c'est du solide.

Hors ligne

Pied de page des forums