Vous n'êtes pas identifié(e).
bonjour
ce test ne marche que separement je ne sais pas pourquoi
j'ai une liste de materiaux (materiau)
je selectionne certains materiaux de cette liste pour un certain critere (mat)
j'affiche ensuite le detail de ces materiaux avec le lien dynamique ><a href="{{ mater.get_absolute_url }}">
pourquoi ifequal ne marche pas ?
{% for mater in materiau %}
{% for mater2 in mat %}
{% ifequal mater.name mater2.name %}
<li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</li>
{% endifequal %}
{% endfor %}
{% endfor %}
Hors ligne
Je ne sais pas pourquoi ca marche pas, mais pour info tu peux utiliser comme
en python :
{% if materiau in mat %} cf
https://docs.djangoproject.com/en/1.3/ref/templates/builtins/#in-operator
egalement {% if mater.name == mater2.name %}
si tu print {{ mater.name }} et {{ mater2.name }} c'est bien la meme chose
?
si les objects sont les memes (pas simplement leur nom) tu peux egalement
tester {% if mater == mater2 %} ca devrait suffire.
Julien
Le 29 septembre 2011 11:16, sesame <pat.100 _AT_ hotmail.fr> a écrit :
> bonjour
>
> ce test ne marche que separement je ne sais pas pourquoi
>
> j'ai une liste de materiaux (materiau)
>
> je selectionne certains materiaux de cette liste pour un certain critere
> (mat)
>
> j'affiche ensuite le detail de ces materiaux avec le lien dynamique ><a
> href="{{ mater.get_absolute_url }}">
>
> pourquoi ifequal ne marche pas ?
>
> {% for mater in materiau %}
> {% for mater2 in mat %}
>
> {% ifequal mater.name mater2.name %}
>
> <li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</li>
>
> {% endifequal %}
>
> {% endfor %}
> {% endfor %}
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Le jeudi 29 septembre 2011 11:16:15, sesame a écrit :
> bonjour
>
> ce test ne marche que separement je ne sais pas pourquoi
>
> j'ai une liste de materiaux (materiau)
>
> je selectionne certains materiaux de cette liste pour un certain critere
> (mat)
>
> j'affiche ensuite le detail de ces materiaux avec le lien dynamique><a
> href="{{ mater.get_absolute_url }}">
>
> pourquoi ifequal ne marche pas ?
>
> {% for mater in materiau %}
> {% for mater2 in mat %}
>
> {% ifequal mater.name mater2.name %}
>
> <li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</li>
>
> {% endifequal %}
>
> {% endfor %}
> {% endfor %}
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
A priori tu peux faire simple {% if mater == mater2 %} puisque si j'ai
bien compris les 2 objets testés sont censés être identiques.
Comme le dit Julien, fais un print des deux et en revenant à la ligne
pour avoir un debug pas trop sal:
{% for mater in materiau %}
{% for mater2 in mat %}
matière 1: {{ mater.name }} et matière 2: {{ mater2.name }}
<br /> <br />
{% if mater == mater2 %}
C'est bon!! <br />
<li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</li>
{% endif %}
{% endfor %}
{% endfor %}
Renvoie nous le résultat pour qu'on puisse t'aider si tu bloques
Hors ligne
voici la sortie pour mart2 et mater
{% for mater2 in mat %}
{{ mater2.name }}
{% endfor %}
sortie : Av12 Al2O3
et :
{% for mater in materiau %}
{{ mater.name }}
{% endfor %}
sortie : Al2O3 Al5O6 Av12 CX7Bn5 DS03 Dy44 Qt56 SS22 Ti9O4 Wx67 XX77 ZrO2
le test {% if mater == mater2 %} marche pas
Hors ligne
Le jeudi 29 septembre 2011 12:00:37, sesame a écrit :
> voici la sortie pour mart2 et mater
>
> {% for mater2 in mat %}
>
> {{ mater2.name }}
>
> {% endfor %}
>
> sortie : Av12 Al2O3
>
> et :
>
> {% for mater in materiau %}
>
> {{ mater.name }}
>
> {% endfor %}
>
>
> sortie : Al2O3 Al5O6 Av12 CX7Bn5 DS03 Dy44 Qt56 SS22 Ti9O4 Wx67 XX77 ZrO2
>
> le test {% if mater == mater2 %} marche pas
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Donc normalement mater[1] == mater2[0]
Essaie de mettre juste une chaine genre plop dans ton test et if
master.name == mater2.name
soit:
{% for mater in materiau %}
{% for mater2 in mat %}
{% if mater.name == mater2.name %}
Plop!!!!
{% endif %}
{% endfor %}
{% endfor %}
Plop devrait apparaitre une fois au moins
Hors ligne
Le 29/09/2011 12:00, sesame a écrit :
> voici la sortie pour mart2 et mater
>
> {% for mater2 in mat %}
>
> {{ mater2.name }}
>
> {% endfor %}
>
> sortie : Av12 Al2O3
>
> et :
>
> {% for mater in materiau %}
>
> {{ mater.name }}
>
> {% endfor %}
>
>
> sortie : Al2O3 Al5O6 Av12 CX7Bn5 DS03 Dy44 Qt56 SS22 Ti9O4 Wx67 XX77 ZrO2
>
> le test {% if mater == mater2 %} marche pas
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Sinon tu peux aussi faire comme te l'a conseillé Julien!
{% for mater2 in mat %}
{% if mater2 in materiaux %}
{{ mater2 }} est bien dans la tableau de matériaux
{% else % }
{{ mater2 }} n'est pas dans le tableau matériaux
{% endif %}
{% endfor %}
Met ça à la place de ton code et renvoie le résultat ici
Hors ligne
cette fois c'est le lien dynamique qui marche pas
{% for mater2 in mat %}
{% if mater2.name in materiau %}
<li><a href="{{ mater2.get_absolute_url }}">{{ mater2.name }}</li>
{% endif %}
{% endfor %}
sortie :
Av12
Al2O3
Hors ligne
marche pas... c'est a dire ?
pas de lien du tout ? lien foireux ? quoi dans la source ?
ju
2011/9/29 sesame <pat.100 _AT_ hotmail.fr>
> cette fois c'est le lien dynamique qui marche pas
>
> {% for mater2 in mat %}
>
> {% if mater2.name in materiau %}
>
> <li><a href="{{ mater2.get_absolute_url }}">{{ mater2.name }}</li>
>
>
> {% endif %}
>
> {% endfor %}
>
>
>
> sortie :
>
> Av12
> Al2O3
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Le 29/09/2011 13:27, sesame a écrit :
> cette fois c'est le lien dynamique qui marche pas
>
> {% for mater2 in mat %}
>
> {% if mater2.name in materiau %}
>
> <li><a href="{{ mater2.get_absolute_url }}">{{ mater2.name }}</li>
>
>
> {% endif %}
>
> {% endfor %}
>
>
>
> sortie :
>
> Av12
> Al2O3
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
On avance. Peux-tu nous envoyer la définition de ton modèle materiaux ,
définition de get absolute url comprise
Hors ligne
voila la source
views.py
def search_filter(request):
errors = []
mat = []
q = []
val1 = []
materiau = []
try:
if 'q' and 'fil' in request.GET:
q = int(request.GET['q'])
val1 = request.GET['fil'] # densite....
materiau = Material.objects.all()
mat = UniteProperty.objects.filter(
Q(val_champ__icontains = val1) & Q(val__gt=q-0.1, val__lte=q))
except ValueError, error:
return render_to_response('materiaux/message.html',
locals(),
context_instance=RequestContext(request))
else:
pass
return render_to_response('materiaux/search_results_filt.html',
{'mat' : mat,
'materiau' : materiau,
'query': q,
# 'query': val2,
'query': val1,
})
return render_to_response(
{'errors': errors})
models.py
class Material(models.Model):
name = models.CharField(_('name'), max_length=50)
description = models.TextField(_('description'), blank=True)
slug = models.SlugField()
category = models.ForeignKey(Category, verbose_name=_('category'))
class UniteProperty(models.Model):
name = models.ForeignKey(Material, verbose_name=_('name')) # composition chimique
nature_unit = models.ForeignKey(Property, verbose_name=_('nature_unit')) # categorie (mecanique, thermique...)
val_champ = models.CharField(_('val_champ'), max_length=50) # propriete physique, mecanique....
val= models.FloatField(blank=True, null=False) # valeur numerique
val_unit = models.CharField(_('val_unit'), max_length=50)
Hors ligne
Le jeudi 29 septembre 2011 13:38:38, sesame a écrit :
> voila la source
>
> views.py
>
>
> def search_filter(request):
>
> errors = []
> mat = []
> q = []
> val1 = []
> materiau = []
> try:
> if 'q' and 'fil' in request.GET:
> q = int(request.GET['q'])
> val1 = request.GET['fil'] # densite....
> materiau = Material.objects.all()
> mat = UniteProperty.objects.filter(
> Q(val_champ__icontains = val1)& Q(val__gt=q-0.1,
> val__lte=q))
>
> except ValueError, error:
> return render_to_response('materiaux/message.html',
> locals(),
>
> context_instance=RequestContext(request))
>
> else:
> pass
>
> return render_to_response('materiaux/search_results_filt.html',
> {'mat' : mat,
> 'materiau' : materiau,
> 'query': q,
> # 'query': val2,
> 'query': val1,
>
> })
>
> return render_to_response(
> {'errors': errors})
>
>
>
> models.py
>
> class Material(models.Model):
> name = models.CharField(_('name'), max_length=50)
> description = models.TextField(_('description'), blank=True)
> slug = models.SlugField()
> category = models.ForeignKey(Category, verbose_name=_('category'))
>
>
> class UniteProperty(models.Model):
> name = models.ForeignKey(Material, verbose_name=_('name'))
> # composition chimique
> nature_unit = models.ForeignKey(Property,
> verbose_name=_('nature_unit')) # categorie (mecanique, thermique...)
> val_champ = models.CharField(_('val_champ'), max_length=50)
> # propriete physique, mecanique....
> val= models.FloatField(blank=True, null=False)
> # valeur numerique
> val_unit = models.CharField(_('val_unit'), max_length=50)
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Pas de get absolute url dans ton modèle... Il te faut le définir
Envoie aussi ton urls.py
Hors ligne
models.py
'materiaux_material_detail' en debut d'url
class Material(models.Model):
name = models.CharField(_('name'), max_length=50)
description = models.TextField(_('description'), blank=True)
slug = models.SlugField()
category = models.ForeignKey(Category, verbose_name=_('category'))
def get_physical_properties(self):
return self.uniteproperty_set.all()
def get_medias(self):
return self.media2_set.all()
@models.permalink
def get_absolute_url(self):
return ('materiaux_material_detail', (), {'slug': self.slug})
def __unicode__(self):
return self.name
class Meta:
verbose_name = _('material')
verbose_name_plural = _('materials')
ordering = ['name']
url.py
from django.conf.urls.defaults import *
material_info = {"queryset" : Material.objects.all()}
category_root_info = {"queryset" : Category.tree.root_nodes()}
cat_info = {"queryset" : Category.objects.all()}
urlpatterns = patterns('django.views.generic.list_detail',
url(r'^$', 'object_list',
category_root_info, 'materiaux_category_root'),
url(r'^materiaux/$', 'object_list',
material_info, 'materiaux_material_list'),
url(r'^materiaux/(?P<slug>[-\w]+)/$', 'object_detail',
material_info, 'materiaux_material_detail'),
)
urlpatterns += patterns('monprojet.materiaux.views',
url(r'^category/(?P<slug>[-\w]+)/$', 'view_category_detail',
name='materiaux_category_detail'),
)
urlpatterns += patterns('',
url(r'^add/$', 'monprojet.materiaux.views.add_materiau', name='record'),
url(r'^nouv/$', 'monprojet.materiaux.views.nouveau_materiau', name='nouveau'),
url(r'^update/(?P<material_id>[-\w]+)$', 'monprojet.materiaux.views.manage2_materiaux', name='edition'),
url(r'^medias/(?P<material_id>[-\w]+)$', 'monprojet.materiaux.views.manage_medias', name='edition_media'),
url(r'^delete/(?P<slug>\d+)/$', 'monprojet.materiaux.views.delete_materiau', name='delete'),
url(r'^search/$', 'monprojet.materiaux.views.search', name='chercher'),
url('^filtre/$', 'monprojet.materiaux.views.search_filter', name='chercher_filtre'),
#url(r'^unit/(?P<id>\d+)$', 'monprojet.materiaux.views.lit_val', name='lit_param'),
url(r'^unit/(?P<id>\d+)$', 'monprojet.materiaux.views.convert', name='lit_param'),
url(r'^unit/$', 'monprojet.materiaux.views.affiche', name='toto'),
url(r'^conv/$', 'monprojet.materiaux.views.lit_conv', name='converti'),
url(r'^trait/(?P<id>\d+)$', 'monprojet.materiaux.views.lit_trait', name='traite'),
)
Hors ligne
Le jeudi 29 septembre 2011 13:46:11, sesame a écrit :
> models.py
>
> 'materiaux_material_detail' en debut d'url
>
> class Material(models.Model):
> name = models.CharField(_('name'), max_length=50)
> description = models.TextField(_('description'), blank=True)
> slug = models.SlugField()
> category = models.ForeignKey(Category, verbose_name=_('category'))
>
> def get_physical_properties(self):
> return self.uniteproperty_set.all()
>
> def get_medias(self):
> return self.media2_set.all()
>
> @models.permalink
> def get_absolute_url(self):
> return ('materiaux_material_detail', (), {'slug': self.slug})
>
> def __unicode__(self):
> return self.name
>
> class Meta:
> verbose_name = _('material')
> verbose_name_plural = _('materials')
> ordering = ['name']
>
>
> url.py
>
> from django.conf.urls.defaults import *
>
> material_info = {"queryset" : Material.objects.all()}
> category_root_info = {"queryset" : Category.tree.root_nodes()}
> cat_info = {"queryset" : Category.objects.all()}
>
> urlpatterns = patterns('django.views.generic.list_detail',
> url(r'^$', 'object_list',
> category_root_info, 'materiaux_category_root'),
> url(r'^materiaux/$', 'object_list',
> material_info, 'materiaux_material_list'),
> url(r'^materiaux/(?P<slug>[-\w]+)/$',
> 'object_detail',
> material_info, 'materiaux_material_detail'),
> )
>
>
>
> urlpatterns += patterns('monprojet.materiaux.views',
> url(r'^category/(?P<slug>[-\w]+)/$',
> 'view_category_detail',
> name='materiaux_category_detail'),
> )
>
>
>
>
>
>
>
> urlpatterns += patterns('',
> url(r'^add/$',
> 'monprojet.materiaux.views.add_materiau', name='record'),
> url(r'^nouv/$',
> 'monprojet.materiaux.views.nouveau_materiau', name='nouveau'),
> url(r'^update/(?P<material_id>[-\w]+)$',
> 'monprojet.materiaux.views.manage2_materiaux', name='edition'),
> url(r'^medias/(?P<material_id>[-\w]+)$',
> 'monprojet.materiaux.views.manage_medias', name='edition_media'),
> url(r'^delete/(?P<slug>\d+)/$',
> 'monprojet.materiaux.views.delete_materiau', name='delete'),
> url(r'^search/$',
> 'monprojet.materiaux.views.search', name='chercher'),
> url('^filtre/$',
> 'monprojet.materiaux.views.search_filter', name='chercher_filtre'),
> #url(r'^unit/(?P<id>\d+)$',
> 'monprojet.materiaux.views.lit_val', name='lit_param'),
> url(r'^unit/(?P<id>\d+)$',
> 'monprojet.materiaux.views.convert', name='lit_param'),
> url(r'^unit/$',
> 'monprojet.materiaux.views.affiche', name='toto'),
> url(r'^conv/$',
> 'monprojet.materiaux.views.lit_conv', name='converti'),
> url(r'^trait/(?P<id>\d+)$',
> 'monprojet.materiaux.views.lit_trait', name='traite'),
> )
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Ce serait pas plutôt?:
@models.permalink
def get_absolute_url(self):
return ('materiaux_material_detail', [str(self.slug)])
Hors ligne
non c'est return ('materiaux_material_detail', (), {'slug': self.slug})
Hors ligne
dans le premier cas le lien marche pas
dans le deuxieme cas le lien marche....
{% for mater2 in mat %}
{% if mater2.name in materiau %}
<li><a href="{{ mater2.get_absolute_url }}">{{ mater2.name }}</li>
{% endif %}
{% endfor %}
</br>
</br>
</br>
{% for mater in materiau %}
<li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</li>
{% endfor %}
</ul>
sortie :
Av12
Al2O3
Al2O3
Al5O6
Av12
CX7Bn5
DS03
Dy44
Qt56
SS22
Ti9O4
Wx67
XX77
ZrO2
sortie deuxieme cas click sur Al2O3
Materiau : Al2O3
composition : 94% oxyde aluminium
excellente propriete dielectrique
tres grande purete
Mecanique
ten jpeg Propriete Mecanique SI Unite
durete Vickers 1340,0 -
module elasticite 1370,0 GPa
contrainte de flexion 400,0 MPa
contrainte de compression 1500,0 MPa
rapport de poisson 2,0 -
module de young 73,5 GPa
module de cisaillement 150,0 GPa
Physique
Propriete Physique SI Unite
densite 4,0 g/cc
parametre de maille a 4,758 A
parametre de maille c 12,789 A
poids moleculaire 101,961 g/mol
systeme cristallin : rhombohedrique 0,0 -
Electrique
Propriete Electrique SI Unite
resistivite electrique 1e+14 Ohm-cm
constante dielectrique 9,9 -
champ magnetique 18,0 T
Optique
lens jpeg Propriete Optique SI Unite
indice de refraction 1,731 -
emissivite 1,0 -
emissivite spectrale 0,0 -
Thermique
essai_10 pdf Propriete Thermique SI Unite
chaleur de fusion 1092,0 J/g
conductivite thermique 57,0 W/m-K
coefficient d'expansion thermique 1e-05 /°C
Hors ligne
Le jeudi 29 septembre 2011 14:35:25, sesame a écrit :
> dans le premier cas le lien marche pas
> dans le deuxieme cas le lien marche....
>
> {% for mater2 in mat %}
>
> {% if mater2.name in materiau %}
>
> <li><a href="{{ mater2.get_absolute_url }}">{{ mater2.name }}</li>
>
>
> {% endif %}
>
> {% endfor %}
>
>
> </br>
> </br>
> </br>
>
>
> {% for mater in materiau %}
>
> <li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</li>
>
>
> {% endfor %}
>
> </ul>
>
> sortie :
> Av12
> Al2O3
>
>
>
> Al2O3
> Al5O6
> Av12
> CX7Bn5
> DS03
> Dy44
> Qt56
> SS22
> Ti9O4
> Wx67
> XX77
> ZrO2
>
> sortie deuxieme cas click sur Al2O3
>
> Materiau : Al2O3
> composition : 94% oxyde aluminium
> excellente propriete dielectrique
> tres grande purete
>
> Mecanique
>
> ten jpeg Propriete Mecanique SI Unite
> durete Vickers 1340,0 -
> module elasticite 1370,0 GPa
> contrainte de flexion 400,0 MPa
> contrainte de compression 1500,0 MPa
> rapport de poisson 2,0 -
> module de young 73,5 GPa
> module de cisaillement 150,0 GPa
>
> Physique
>
> Propriete Physique SI Unite
> densite 4,0 g/cc
> parametre de maille a 4,758 A
> parametre de maille c 12,789 A
> poids moleculaire 101,961 g/mol
> systeme cristallin : rhombohedrique 0,0 -
>
> Electrique
>
> Propriete Electrique SI Unite
> resistivite electrique 1e+14 Ohm-cm
> constante dielectrique 9,9 -
> champ magnetique 18,0 T
>
> Optique
>
> lens jpeg Propriete Optique SI Unite
> indice de refraction 1,731 -
> emissivite 1,0 -
> emissivite spectrale 0,0 -
>
> Thermique
>
> essai_10 pdf Propriete Thermique SI Unite
> chaleur de fusion 1092,0 J/g
> conductivite thermique 57,0 W/m-K
> coefficient d'expansion thermique 1e-05 /°C
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Dans le premier cas, peux-tu cliquer sur le lien? Si oui, vers quelle
url te renvoie-t-il?
Sinon, as-tu bien fermé ta balise <a> </a>?
Si tu as mis une balise a et qu'un nom s'affiche, tu as forcément la
possibilité de cliquer dessus, même si le href ne t'amène pas au bon
endroit. Si tu ne peux pas cliquer dessus, c'est que tu as mal fermé ta
balise.
Hors ligne
bonjour,
effectivement il manquait la balise </a>
j'obtiens dans la config suivante :
{% if mat %}
<p><TT> materiaux recherches : </TT></p>
<ul>
{% for mater2 in mat %}
{% if mater2.name in materiau %}
<li><a href="{{ mater2.get_absolute_url }}">{{ mater2.name }}</a></li>
{% endif %}
{% endfor %}
{% else %}
<p>aucun materiau trouve suivant votre critere</p>
{% endif %}
<a href="{% url materiaux_category_root %}">Retour liste</a>
sortie :
Av12
Al2O3
et en cliquant sur le lien Al2O3, j'obtiens :
aucun materiau trouve suivant votre critere
Retour liste
pour l'autre configuration
{% if mat %}
<p><TT> materiaux recherches : </TT></p>
<ul>
{% for mater in materiau %}
<li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</a></li>
{% endfor %}
</ul>
{% else %}
<p>aucun materiau trouve suivant votre critere</p>
{% endif %}
<a href="{% url materiaux_category_root %}">Retour liste</a>
Al2O3
Al5O6
Av12
CX7Bn5
DS03
Dy44
Qt56
SS22
Ti9O4
Wx67
XX77
ZrO2
et en cliquant sur AL2O3
Materiau : Al2O3
composition : 94% oxyde aluminium
excellente propriete dielectrique
tres grande purete
Mecanique
ten jpeg Propriete Mecanique SI Unite
durete Vickers 1340,0 -
module elasticite 1370,0 GPa
contrainte de flexion 400,0 MPa
contrainte de compression 1500,0 MPa
rapport de poisson 2,0 -
module de young 73,5 GPa
module de cisaillement 150,0 GPa
Physique
Propriete Physique SI Unite
densite 4,0 g/cc
parametre de maille a 4,758 A
parametre de maille c 12,789 A
poids moleculaire 101,961 g/mol
systeme cristallin : rhombohedrique 0,0 -
Electrique
Propriete Electrique SI Unite
resistivite electrique 1e+14 Ohm-cm
constante dielectrique 9,9 -
champ magnetique 18,0 T
Optique
lens jpeg Propriete Optique SI Unite
indice de refraction 1,731 -
emissivite 1,0 -
emissivite spectrale 0,0 -
Thermique
essai_10 pdf Propriete Thermique SI Unite
chaleur de fusion 1092,0 J/g
conductivite thermique 57,0 W/m-K
coefficient d'expansion thermique 1e-05 /°C
Retour liste | Edition du formulaire medias | Edition du formulaire | Supression du formulaire
Hors ligne
Bonjour,
Ok. Donc tu es en train de me dire que ton {{ mater2.get_absolute_url
}} te renvoie vers ta page courante ? A moins que ce message soit aussi
écrit dans le template qui affiche les détails? Dans tout les cas tu as
un problème avec ton url
BILLION Sébastien
the Answer to the ultimate question of life, the universe and
everything
is 42
http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>
Le vendredi 30 septembre 2011 07:58:13, sesame a écrit :
> bonjour,
>
> effectivement il manquait la balise</a>
>
> j'obtiens dans la config suivante :
>
> {% if mat %}
>
> <p><TT> materiaux recherches :</TT></p>
>
> <ul>
>
>
>
> {% for mater2 in mat %}
>
> {% if mater2.name in materiau %}
>
> <li><a href="{{ mater2.get_absolute_url }}">{{ mater2.name }}</a></li>
>
>
> {% endif %}
>
> {% endfor %}
>
> {% else %}
> <p>aucun materiau trouve suivant votre critere</p>
> {% endif %}
>
>
>
> <a href="{% url materiaux_category_root %}">Retour liste</a>
>
>
> sortie :
>
> Av12
> Al2O3
>
> et en cliquant sur le lien Al2O3, j'obtiens :
>
> aucun materiau trouve suivant votre critere
>
> Retour liste
>
>
> pour l'autre configuration
>
> {% if mat %}
>
> <p><TT> materiaux recherches :</TT></p>
>
> <ul>
>
> {% for mater in materiau %}
>
> <li><a href="{{ mater.get_absolute_url }}">{{ mater.name }}</a></li>
>
>
> {% endfor %}
>
> </ul>
>
>
>
> {% else %}
> <p>aucun materiau trouve suivant votre critere</p>
> {% endif %}
>
>
>
> <a href="{% url materiaux_category_root %}">Retour liste</a>
>
>
>
>
> Al2O3
> Al5O6
> Av12
> CX7Bn5
> DS03
> Dy44
> Qt56
> SS22
> Ti9O4
> Wx67
> XX77
> ZrO2
>
> et en cliquant sur AL2O3
>
> Materiau : Al2O3
> composition : 94% oxyde aluminium
> excellente propriete dielectrique
> tres grande purete
>
> Mecanique
>
> ten jpeg Propriete Mecanique SI Unite
> durete Vickers 1340,0 -
> module elasticite 1370,0 GPa
> contrainte de flexion 400,0 MPa
> contrainte de compression 1500,0 MPa
> rapport de poisson 2,0 -
> module de young 73,5 GPa
> module de cisaillement 150,0 GPa
>
> Physique
>
> Propriete Physique SI Unite
> densite 4,0 g/cc
> parametre de maille a 4,758 A
> parametre de maille c 12,789 A
> poids moleculaire 101,961 g/mol
> systeme cristallin : rhombohedrique 0,0 -
>
> Electrique
>
> Propriete Electrique SI Unite
> resistivite electrique 1e+14 Ohm-cm
> constante dielectrique 9,9 -
> champ magnetique 18,0 T
>
> Optique
>
> lens jpeg Propriete Optique SI Unite
> indice de refraction 1,731 -
> emissivite 1,0 -
> emissivite spectrale 0,0 -
>
> Thermique
>
> essai_10 pdf Propriete Thermique SI Unite
> chaleur de fusion 1092,0 J/g
> conductivite thermique 57,0 W/m-K
> coefficient d'expansion thermique 1e-05 /°C
>
> Retour liste | Edition du formulaire medias | Edition du formulaire |
> Supression du formulaire
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne
oui
dans le template a la fin j'ai mis le lien <a href="{% url materiaux_category_root %}">Retour liste</a>
pour revenir a la racine
j'ai seulement mis le test
{% if mat %}
{% for mater2 in mat %}
{% if mater2.name in materiau %}
........
.......
{% else %}
<p>aucun materiau trouve suivant votre critere</p>
{% endif %}
<a href="{% url materiaux_category_root %}">Retour liste</a>
en cliquant sur le lien je passe dans la condition else
il y a un probleme..ce qui est incomprehensible est que le filtrage marche mater2.name est bien detecté dans materiau mais impossible de tester l'egalité entre mater2 et mater
le type est different ? pourtant a l'affichage c'est identique..
Hors ligne
Un petit GIST avec les différents fichiers impliqués pourrait aider
http://gist.github.com
urls, models, template
Le 30 septembre 2011 10:28, sesame <pat.100 _AT_ hotmail.fr> a écrit :
> oui
> dans le template a la fin j'ai mis le lien <a href="{% url
> materiaux_category_root %}">Retour liste</a>
>
> pour revenir a la racine
>
>
> j'ai seulement mis le test
>
> {% if mat %}
>
> {% for mater2 in mat %}
>
> {% if mater2.name in materiau %}
> ........
> .......
> {% else %}
> <p>aucun materiau trouve suivant votre critere</p>
> {% endif %}
>
> <a href="{% url materiaux_category_root %}">Retour liste</a>
>
> en cliquant sur le lien je passe dans la condition else
>
>
> il y a un probleme..ce qui est incomprehensible est que le filtrage marche
> mater2.name est bien detecté dans materiau mais impossible de tester
> l'egalité entre mater2 et mater
> le type est different ? pourtant a l'affichage c'est identique..
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
+1 pour Julien!!
met tout ça sur un git parce que là, on patauge à force.
Peux-tu au envoyer le template details.html? L'Id est-il bien passé à
ton url lorsque tu cliques sur le lien? Peux-tu en fait donner un peu
plus de détails?
Le mieux serait vraiment de poser ton projet sur un repo git
BILLION Sébastien
the Answer to the ultimate question of life, the universe and everything
is 42
http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>
Le 30/09/2011 10:30, Julien Bouquillon a écrit :
> Un petit GIST avec les différents fichiers impliqués pourrait aider
>
> http://gist.github.com
>
> urls, models, template
>
>
>
>
> Le 30 septembre 2011 10:28, sesame <pat.100 _AT_ hotmail.fr
> <mailto:pat.100 _AT_ hotmail.fr>> a écrit :
>
> oui
> dans le template a la fin j'ai mis le lien <a href="{% url
> materiaux_category_root %}">Retour liste</a>
>
> pour revenir a la racine
>
>
> j'ai seulement mis le test
>
> {% if mat %}
>
> {% for mater2 in mat %}
>
> {% if mater2.name <http://mater2.name> in materiau %}
> ........
> .......
> {% else %}
> <p>aucun materiau trouve suivant votre critere</p>
> {% endif %}
>
> <a href="{% url materiaux_category_root %}">Retour liste</a>
>
> en cliquant sur le lien je passe dans la condition else
>
>
> il y a un probleme..ce qui est incomprehensible est que le
> filtrage marche
> mater2.name <http://mater2.name> est bien detecté dans materiau
> mais impossible de tester
> l'egalité entre mater2 et mater
> le type est different ? pourtant a l'affichage c'est identique..
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org <mailto:django _AT_ lists.afpy.org>
> http://lists.afpy.org/mailman/listinfo/django
>
>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne
oui je pense aussi
voici le template qui affiche le detail d'un materiau specifique
{% extends "base.html" %}
<body>
<div id="content">
{% block content %}
{% if object.get_physical_properties %}
<ul>
<TT> <strong><font size="4" color="black">Materiau : </font></strong><font size="4" color="red"> <strong>{{ object }}</strong></font></TT>
{% for prop in object.get_physical_properties|slice:":1" %}
<TT> {{ prop.name.description|linebreaks }}</TT>
{% endfor %}
{% for prop in object.get_physical_properties %}
{% ifchanged prop.nature_unit %} {# test unique sur le changement de propriete avec la precedente #}
<thead>
<p style=background-color:PowderBlue;> <TT><font size="4" color="black"><strong> {{prop.nature_unit}} </strong></font></TT></p>
</thead>
{% for media in object.get_medias %}
{% ifequal prop.nature_unit media.nature %} {# test l'egalite sur la propriete #}
{% ifequal media.get_format_display 'xls' %} {# detection du format de fichier #}
{# <a href="{{ media.source.url }}"> <img border=0 alt="" src="/projet_2/monprojet/image/8330.ico"/> </a> #}
{% endifequal %}
<a href="{{ media.source.url }}">{{ media.name }} {{ media.get_format_display }}</a>
{% endifequal %}
{% endfor %}
<table width="100%" border="1" style="border: 0.5px;" cellspacing="0" cellpadding="0" >
<div>
<tr bgcolor="dddddd">
<td width="150" <TT><strong>Propriete {{prop.nature_unit}} </strong></TT></td>
<td width="150" <TT><strong>SI </strong></TT></td>
<td width="150" <TT><strong>Unite</strong></TT></td>
</tr>
<tr>
<td width="150" <TT>{{ prop.val_champ}} </TT></td>
{% ifequal prop.val_champ 'densite' %}
<td width="150" <TT> <a href="{% url lit_param prop.id %}"> {{ prop.val }} </a></TT> </td> {# conversion unite #}
{#<td width="150" <TT> {{ prop.val }} </TT> </td> #}
{% else %}
<td width="150" <TT> {{ prop.val }}</TT> </td>
{% endifequal %}
<td width="150" <TT> {{ prop.val_unit }} </TT></td>
</tr>
</div>
</table>
{% else %}
<table width="100%" border="1" style="border: 0.5px;" cellspacing="0" cellpadding="0" >
<div>
<tr>
<td width="150" <TT>{{ prop.val_champ }} </TT></td>
<td width="150" <TT> {{ prop.val }}</TT> </td>
<td width="150" <TT> {{ prop.val_unit }} </TT></td>
</tr>
</div>
</table>
{% endifchanged %}
{% endfor %}
</ul>
<a href="javascript:history.go(-1)">Retour liste</a> |
<a href="{% url edition_media object.pk %}">Edition du formulaire medias </a> | <a href="{% url edition object.pk %}">Edition du formulaire </a> | <a href="{% url delete object.id %}">Supression du formulaire </a>
{% else %}
<font size="3" color="black">aucune donnee materiau...</font>
<a href="{% url edition object.pk %}">Edition du formulaire </a> | <a href="{% url delete object.id %}">Supression du formulaire </a> | <a href="javascript:history.go(-1)">Retour liste </a>
{#<a href="{% url record %}">Insertion donnees</a> | #}
{% endif %}
</div>
</body>
{% endblock %}
Hors ligne
Mouais en fait ça m'aide pas beaucoup. Envoie un lien git vers ton
projet et on pourra t'aider plus facilement.
BILLION Sébastien
the Answer to the ultimate question of life, the universe and everything
is 42
http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>
Le 30/09/2011 10:58, sesame a écrit :
> oui je pense aussi
>
> voici le template qui affiche le detail d'un materiau specifique
>
> {% extends "base.html" %}
>
> <body>
> <div id="content">
> {% block content %}
> {% if object.get_physical_properties %}
> <ul>
> <TT> <strong><font size="4" color="black">Materiau :</font></strong><font
> size="4" color="red"> <strong>{{ object }}</strong></font></TT>
>
> {% for prop in object.get_physical_properties|slice:":1" %}
> <TT> {{ prop.name.description|linebreaks }}</TT>
> {% endfor %}
>
>
>
>
>
> {% for prop in object.get_physical_properties %}
>
> {% ifchanged prop.nature_unit %} {# test unique sur le changement de
> propriete avec la precedente #}
>
> <thead>
> <p style=background-color:PowderBlue;> <TT><font size="4"
> color="black"><strong> {{prop.nature_unit}}</strong></font></TT></p>
> </thead>
>
>
>
> {% for media in object.get_medias %}
> {% ifequal prop.nature_unit media.nature %} {# test l'egalite sur la
> propriete #}
>
> {% ifequal media.get_format_display 'xls' %} {# detection du format de
> fichier #}
> {#<a href="{{ media.source.url }}"> <img border=0 alt=""
> src="/projet_2/monprojet/image/8330.ico"/> </a> #}
> {% endifequal %}
>
> <a href="{{ media.source.url }}">{{ media.name }} {{
> media.get_format_display }}</a>
>
> {% endifequal %}
> {% endfor %}
>
>
> <table width="100%" border="1" style="border: 0.5px;" cellspacing="0"
> cellpadding="0">
> <div>
> <tr bgcolor="dddddd">
> <td width="150"<TT><strong>Propriete {{prop.nature_unit}}
> </strong></TT></td>
> <td width="150"<TT><strong>SI</strong></TT></td>
> <td width="150"<TT><strong>Unite</strong></TT></td>
> </tr>
>
>
>
> <tr>
>
> <td width="150"<TT>{{ prop.val_champ}}</TT></td>
> {% ifequal prop.val_champ 'densite' %}
> <td width="150"<TT> <a href="{% url lit_param prop.id %}"> {{ prop.val
> }}</a></TT> </td> {# conversion unite #}
> {#<td width="150"<TT> {{ prop.val }}</TT> </td> #}
> {% else %}
> <td width="150"<TT> {{ prop.val }}</TT> </td>
> {% endifequal %}
>
> <td width="150"<TT> {{ prop.val_unit }}</TT></td>
>
> </tr>
> </div>
> </table>
>
>
>
> {% else %}
> <table width="100%" border="1" style="border: 0.5px;" cellspacing="0"
> cellpadding="0">
> <div>
> <tr>
> <td width="150"<TT>{{ prop.val_champ }}</TT></td>
> <td width="150"<TT> {{ prop.val }}</TT> </td>
> <td width="150"<TT> {{ prop.val_unit }}</TT></td>
> </tr>
> </div>
> </table>
>
>
>
>
> {% endifchanged %}
>
> {% endfor %}
>
> </ul>
>
>
>
>
>
>
> <a href="javascript:history.go(-1)">Retour liste</a> |
>
> <a href="{% url edition_media object.pk %}">Edition du formulaire medias
> </a> |<a href="{% url edition object.pk %}">Edition du formulaire</a> |
> <a href="{% url delete object.id %}">Supression du formulaire</a>
>
> {% else %}
>
> <font size="3" color="black">aucune donnee materiau...</font>
>
>
> <a href="{% url edition object.pk %}">Edition du formulaire</a> |<a
> href="{% url delete object.id %}">Supression du formulaire</a> |<a
> href="javascript:history.go(-1)">Retour liste</a>
> {#<a href="{% url record %}">Insertion donnees</a> | #}
> {% endif %}
> </div>
> </body>
> {% endblock %}
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne
merci quand même d'avoir essayé de m'aider
Hors ligne
Tu veux pas nous mettre les sources sur un GIT?
J'ai pas dit que j'abandonnais. J'ai juste demander à avoir les sources
du projet pour avoir une meilleur visibilité et évitais d'y passer
encore 20 mails pour résoudre le problème.
BILLION Sébastien
the Answer to the ultimate question of life, the universe and everything
is 42
http://www.sebastienbillion.com/ <http://www.sebastienbillion.com/>
Le 30/09/2011 11:15, sesame a écrit :
> merci quand même d'avoir essayé de m'aider
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
Hors ligne