Vous n'êtes pas identifié(e).
Bonjour a tous,
je suis très nouveau sur Django, un peu moins sur Python.
Je fais actuellement le tuto sur django et à partir de programmer en web avec poython et django, seulement je suis confronté à un petit soucis:
il est souvent décrit la chose suivante pour une vue
# -*- coding: utf-8 -*-
from django.shortcuts import render_to_response
from datetime import datetime
def welcome(request):
return render_to_response('welcome.html',
{'current_date_time': datetime.now} )
et le template
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Trombinoscoop</title>
</head>
<body>
<p>Bienvenue sur Trombinoscoop ! Nous somme le {{ current_date_time }}. </p>
</body>
</html>
or je souhaite passer dans la vu plusieurs paramètre
comme la date et le login_user
pour afficher dans le template par exemple :
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Trombinoscoop</title>
</head>
<body>
<p>Bienvenue sur Trombinoscoop ! Nous somme le {{ current_date_time }}. et je suis {{login_user}}</p>
</body>
</html>
j'ai tenté cela dans la vue mais echec :
from django.shortcuts import render
from datetime import datetime
import getpass
def welcome(request):
macadd = getpass.getuser()
today = datetime.now()
return render(request, 'my_template.html',{'login_user':macadd},{'current_date_time':today})
la solution est surement simple, quelqu'un peut m'aiguiller ??
Merci
Hors ligne
bon j'ai trouvé cette solution :
créer un dictionnaire et l'appeler dans le template, si quelqu'un a une solution plus académique je suis preneur
solution
view
def welcome(request):
c= {
'macadd': getpass.getuser(),
'today': datetime.now(),
}
return render(request,'my_template.html',{'test':c})
le template
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr">
<head>
<title>Bienvenue sur notre site</title>
</head>
<body>
<p>Bienvenue {{test.macadd}} nous somme le : {{ test.today }}</p>
</body>
</html>
Hors ligne
Bonjour,
dans votre vue, vous passez deux dictionnaires au lieu d'un dictionnaire à deux entrées :
remplacez : return render(request, 'my_template.html',{'login_user':macadd},{'current_date_time':today})
par : return render(request, 'my_template.html',{'login_user':macadd, 'current_date_time':today})
Hors ligne