Django-fr

Forum

#1 27-12-2013 09:37:59

rutabaga
Membre
Inscription : 27-12-2013
Messages : 2

[Views et Template]

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

#2 27-12-2013 10:49:25

rutabaga
Membre
Inscription : 27-12-2013
Messages : 2

Re : [Views et Template]

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

#3 30-12-2013 23:30:07

Hotshot92
Membre
Inscription : 30-12-2013
Messages : 4

Re : [Views et Template]

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

Pied de page des forums