– un objet qui a une méthode “get_absolute_url()” qui retourn un url sous forme de string
– une string qui représente une url absolue. Ex: ‘/toto’
– une string qui représente le nom d’une url dans ton url.py. Ex: si tu as mis name=”foo”, tu peux mettre “foo”.
Toi tu passe ici un objet request, ce qui n’a rien à voir avec la choucroute.
]]>Super merci ton ton travail, cela aide beaucoup… Mais, car comme tu le sais il y a toujours un mais ;)
Grace à l’app3_basic_routing, je comprend mieux comment cela fonctionne. dans tes exemple, tu utilises des liens du type :
a href="./hello_from_app1/">./hello_from_app1/</>:
et ça je sais faire. là ou je ne sais plus c’est quand je fait :
def logon(request):
username = request.POST['user']
password = request.POST['pword']
user = authenticate(request, username=username, password=password)
if user is not None:
login(request, user)
return redirect(request, 'accueil/index.html', {})
else :
print("que dale")
impossible de faire la redirection, soit il ne fait rien, soit il me fait ça :
NoReverseMatch at /logon/
Reverse for ” not found. ” is not a valid view function or pattern name.
si tu as un idée je suis preneur
le url.py au passage :
from django.urls import path, re_path
from . import views
from accueil.views import index as accueil_index
from django.views.generic.base import RedirectView
urlpatterns = [
path('', views.index, name='index'),
path('logon', views.logon, name='logon'),
path('index',accueil_index, name='index'),
]
merci
christophe
]]>Je suis en train de suivre le tuto du site du zéro (en quasi ligne droite, je le recommande) et la seule chose qui me manquait, c’était le code de Django commenté en français… :-p
Voilà qui est fait…
Très gros bouleau… merci…
J’ai un peu cherché pour découvrir le coup du path.py et avoir ainsi toutes ses applis dans un dossier…
Compte-tenu de l’objectif de l’exercice, il est possible que cela rajoute un niveau de complexité dans la compréhension des chemins pas forcément salutaire…
En, même temps, je suis bien content d’avoir eu l’occasion de comprendre le truc… :-)
Enfin, simple remarque, “Une appli après l’autre” collerai peut-être plus à l’esprit du projet…
Merci encore pour le taff…
]]>@Tontof: bien vu, ma config ne prenait pas en compte les accents dans le chemin du dossier et c’est une bonne chose de le voir maintenant car quasiment aucune ressource sur le net n’explique comment le faire. J’ai modif le code et normalement ça devrait le faire. Tu confirmes ?
]]>
Traceback (most recent call last):
File "manage.py", line 7, in
import project.settings
File ".../project/settings.py", line 47, in
APPS_DIR = os.path.join(ROOT_DIR, 'apps')
File "/usr/lib/python2.7/posixpath.py", line 71, in join
path += '/' + b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 11: ordinal not in range(128)
]]>