Django-fr

Forum

#1 29-09-2011 10:16:15

sesame
Membre
Inscription : 22-03-2011
Messages : 263

test egalite

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

#2 29-09-2011 10:23:35

Julien Bouquillon
Membre
Inscription : 26-09-2011
Messages : 25

Re : test egalite

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

#3 29-09-2011 10:33:10

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#4 29-09-2011 11:00:37

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#5 29-09-2011 11:12:27

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#6 29-09-2011 11:21:12

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#7 29-09-2011 12:27:09

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#8 29-09-2011 12:29:51

Julien Bouquillon
Membre
Inscription : 26-09-2011
Messages : 25

Re : test egalite

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

#9 29-09-2011 12:36:40

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#10 29-09-2011 12:38:38

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#11 29-09-2011 12:42:03

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#12 29-09-2011 12:46:11

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#13 29-09-2011 12:51:16

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#14 29-09-2011 12:57:51

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

non c'est return ('materiaux_material_detail', (), {'slug': self.slug})

Hors ligne

#15 29-09-2011 13:35:25

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#16 29-09-2011 14:32:04

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#17 30-09-2011 06:58:13

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#18 30-09-2011 09:02:49

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#19 30-09-2011 09:28:01

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#20 30-09-2011 09:30:26

Julien Bouquillon
Membre
Inscription : 26-09-2011
Messages : 25

Re : test egalite

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

#21 30-09-2011 09:44:44

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

+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

#22 30-09-2011 09:58:42

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

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

#23 30-09-2011 10:03:34

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

#24 30-09-2011 10:15:27

sesame
Membre
Inscription : 22-03-2011
Messages : 263

Re : test egalite

merci quand même d'avoir essayé de m'aider

Hors ligne

#25 30-09-2011 10:18:15

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : test egalite

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

Pied de page des forums