Django-fr

Forum

#26 30-01-2012 09:33:14

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

Re : script

salut

il faut absolument connaitre les codes de statuts HTTP pour pouvoir coder :
http://www.codeshttp.com/
404 c'est "non trouvé"

Avant de se lancer dans Django, l'idéal serait de lire en entier le
tutorial "your first django app".
Il y a justement un chapitre sur les fichiers "statiques" (images, css,
js...)
https://docs.djangoproject.com/en/dev/howto/static-files/

pour jQuery, il est aussi possible de passer par un "CDN" :
http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js

"servir le fichier" : le serveur sert/renvoie le fichier

my 2 cents


Le 30 janvier 2012 09:16, sesame <pat.100 _AT_ hotmail.fr> a écrit :

> le fichier jquery-1.2.6.min est dans le même repertoire que le fichier
> lorsque je clique sur link j'obtiens
>
> [30/jan 2012 09:07:55] "GET /jquery-1.2.6.min.js HTTP/1.1" 404 2000
>
> ca veut dire qu'il a trouvé le fichier ?
>
> je comprend pas le terme 'servir ce fichier'
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#27 30-01-2012 09:33:35

Vincent
Membre
Inscription : 08-08-2011
Messages : 20

Re : script

Nope, ça veut dire qu'il le trouve pas justement.

Par servir, je veux dire le rendre accessible via ton serveur web (dev ou prod) donc pour ça, direction documentation : https://docs.djangoproject.com/en/dev/howto/static-files/

Hors ligne

#28 30-01-2012 09:43:16

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

Re : script

si je remplace  <script type="text/javascript" src="jquery-1.2.6.min.js"></script> 
par   <script src="http://code.jquery.com/jquery-latest.js"></script>

ca semble marcher  ????

Hors ligne

#29 30-01-2012 10:01:12

Guillaume Cisco
Membre
Inscription : 12-01-2012
Messages : 5

Re : script

Salut sesame,

Il faut bien comprendre la différence entre un fichier externalisé et un
fichier hébergé sur le même serveur que ton application.
Ce tutoriel devrait t'aider à y voir plus clair avec les static files
introduit sous django 1.3 :
http://tutos-django.com/2011/11/21/inclusion-css-et-static-files/

On Mon, Jan 30, 2012 at 9:43 AM, sesame <pat.100 _AT_ hotmail.fr> wrote:

> si je remplace  <script type="text/javascript"
> src="jquery-1.2.6.min.js"></script>
> par   <script src="http://code.jquery.com/jquery-latest.js"></script>
>
> ca semble marcher  ????
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#30 30-01-2012 10:35:56

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

Re : script

merci pour toutes les reponses

Hors ligne

#31 03-02-2012 11:18:46

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

Re : script

j'y suis enfin arrivé pour getjson..

mais si j'ai plusieurs champs dans ma page


<INPUT type="text" value="{{prop.val_champ}}" id ="driver"

$("#driver").click(function(event) {$.getJSON(  va toujours envoyer les valeurs au même endroit.
.<td width="120"  <TT> 14 </TT> </td>

il faudrait que le click(function(event) puisse differencier les variables {{prop.val_champ}}

il y a peut etre un moyen simple en fonction de "{{prop.val_champ}}" pour aller ecrire a une position particuliere

Hors ligne

#32 03-02-2012 11:25:37

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

Re : script

Il faudrait que tu colles ton code sur dpaste ou gist.github.com que l'on
puisse voir comment tu t'es organisé


ju

Le 3 février 2012 11:18, sesame <pat.100 _AT_ hotmail.fr> a écrit :

> j'y suis enfin arrivé pour getjson..
>
> mais si j'ai plusieurs champs dans ma page
>
>
> <INPUT type="text" value="{{prop.val_champ}}" id ="driver"
>
> $("#driver").click(function(event) {$.getJSON(  va toujours envoyer les
> valeurs au même endroit.
> .<td width="120"  <TT> 14 </TT> </td>
>
> il faudrait que le click(function(event) puisse differencier les variables
> {{prop.val_champ}}
>
> il y a peut etre un moyen simple en fonction de "{{prop.val_champ}}" pour
> aller ecrire a une position particuliere
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#33 03-02-2012 11:40:28

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

Re : script

https://gist.github.com/1729568  pour le lien ou est le code

en fait ma page contient un certain nombre de champs associes aune propriete
et lorsque je clique dessus ca doit apres retour et lecture dans un fichier aller mettre les bonnes valeurs au bon endroit
ce code marche pas car je lis bien les valeurs mais c'est tous les champs associes aune liste deroulante qui recoivent les meme valeurs il faudrait que j'ai dans le script $(".{{prop.val_champ}}.click(function()

Hors ligne

#34 03-02-2012 11:51:07

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

Re : script

merci pour l'indentation c'est super pratique a lire

rien a voir avec django mais :

   -  pourquoi un form au milieu d'une table ? un form qui englobe la table
   je veux bien, mais au milieu dees TD non !!
   - on ne peut pas avoir plusieurs objects DOM avec le meme ID dans la page

avec une meilleure indentation ce sera un peu plus clair la c'est comme si
tu nous collait un tas de M et qu'il faille fouiller dedans. pas facile.


Le 3 février 2012 11:40, sesame <pat.100 _AT_ hotmail.fr> a écrit :

> https://gist.github.com/1729568  pour le lien ou est le code
>
> en fait ma page contient un certain nombre de champs associes aune
> propriete
> et lorsque je clique dessus ca doit apres retour et lecture dans un
> fichier aller mettre les bonnes valeurs au bon endroit
> ce code marche pas car je lis bien les valeurs mais c'est tous les champs
> associes aune liste deroulante qui recoivent les meme valeurs il faudrait
> que j'ai dans le script $(".{{prop.val_champ}}.click(function()
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#35 03-02-2012 12:41:09

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

Re : script

je veux bien rendre le code plus presentable

j'ai simplement deux form associes au changement (physique, mecanique....)

ca me semblait plus logique pour le form ...  enfin bon...c'est vrai je manque de rigueur

Hors ligne

#36 06-02-2012 14:02:38

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

Re : script

bonjour
je vais essayer d'etre concis

pourquoi avec ce code j'envoie bien les bonnes valeurs de champ ({prop.val_champ), ma fonction de django renvoie bien une autre page avec les infos

<form action="{% url upload  %}" method="post">

<td width="160"  <TT><INPUT type="text" value="{{prop.val_champ}}" name="propriete" onClick="this.form.submit()"/></TT>

</td>
<td width="120"<TT><select name="topic" id= "id_topic"></TT>
<optgroup label="degres">
<option selected="selected" value="0">-- select --</option>
<option value="100">100</option>
<option value="200">200</option>
<option value="300">300</option>
<option value="400">400</option>
<option value="500">500</option>
</optgroup>
</select>

</td>
<td width="120"  <TT>  {{prop.val1}} </TT> </td>   
<td width="120"  <TT>  {{prop.val2}} </TT> </td>

</form>

et pourquoi lorsque je veux afficher sur la même page les infos,  value="{{prop.val_champ}}"  marche mal

<form action= "/run_DHM/" method="POST">

<td width="160"<TT><INPUT class= "drive" id = "driver" type="text" value="{{prop.val_champ}}" name="propriete" /></TT></td>

<td width="120"<TT><select name="topic" id= "topic"></TT>
<optgroup label="degres">
<option selected="selected" value="0">-- select --</option>
<option value="100">100</option>
<option value="200">200</option>
<option value="300">300</option>
<option value="400">400</option>
<option value="500">500</option>
</optgroup>
</select>

</td>
<td class= "min" width="120"  <TT>  {{prop.val1}} </TT> </td>   
<td class= "max" width="120"  <TT>  {{prop.val2}} </TT> </td>

</form>


<script>             
        $("#driver").click(function() {         
     
        // click : temperature de selection, propriete, reference
       
        $.getJSON("/run_DHM/", {'topic': $("#topic").val(), 'propriete': $("#driver").val(),  },  function(data) {
   
    $("td.min").html(data['val_min']);
        $("td.max").html(data['val_max']);                          
       

          });  // getjson
     
        });   // click
           

</script>

Hors ligne

#37 06-02-2012 14:12:48

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

Re : script

Il faut que tu compares les 2 requêtes, avec le form (1er cas ) et avec
Ajax (2eme cas) dans Firebug pour voir si les données envoyées sont les
bonnes. Les deux doivent utiliser la methode POST. Tu pourras également
inspecter le retour du serveur pour verifier que tout est OK.
Le retour json doit aussi avoir le content-type application/json. a
verifier dans les 'headers'

"marche mal" ca veut dire quoi exactement ?

au retour de ta fonction getJSON, tu peux faire console.log(arguments) pour
verifier que les datas sont bien présentes et dans le format voulu

$.getJSON("/run_DHM/", {'topic': $("#topic").val(), 'propriete':
    $("#driver").val(),  },  function(data) {
       $("td.min").html(data['val_min']);
       $("td.max").html(data['val_max']);
    });
});

ju


2012/2/6 sesame <pat.100 _AT_ hotmail.fr>

> bonjour
> je vais essayer d'etre concis
>
> pourquoi avec ce code j'envoie bien les bonnes valeurs de champ
> ({prop.val_champ), ma fonction de django renvoie bien une autre page avec
> les infos
>
> <form action="{% url upload  %}" method="post">
>
> <td width="160"  <TT><INPUT type="text" value="{{prop.val_champ}}"
> name="propriete" onClick="this.form.submit()"/></TT>
>
> </td>
> <td width="120"<TT><select name="topic" id= "id_topic"></TT>
> <optgroup label="degres">
> <option selected="selected" value="0">-- select --</option>
> <option value="100">100</option>
> <option value="200">200</option>
> <option value="300">300</option>
> <option value="400">400</option>
> <option value="500">500</option>
> </optgroup>
> </select>
>
> </td>
> <td width="120"  <TT>  {{prop.val1}} </TT> </td>
> <td width="120"  <TT>  {{prop.val2}} </TT> </td>
>
> </form>
>
> et pourquoi lorsque je veux afficher sur la même page les infos,
> value="{{prop.val_champ}}"  marche mal
>
> <form action= "/run_DHM/" method="POST">
>
> <td width="160"<TT><INPUT class= "drive" id = "driver" type="text"
> value="{{prop.val_champ}}" name="propriete" /></TT></td>
>
> <td width="120"<TT><select name="topic" id= "topic"></TT>
> <optgroup label="degres">
> <option selected="selected" value="0">-- select --</option>
> <option value="100">100</option>
> <option value="200">200</option>
> <option value="300">300</option>
> <option value="400">400</option>
> <option value="500">500</option>
> </optgroup>
> </select>
>
> </td>
> <td class= "min" width="120"  <TT>  {{prop.val1}} </TT> </td>
> <td class= "max" width="120"  <TT>  {{prop.val2}} </TT> </td>
>
> </form>
>
>
> <script>
>        $("#driver").click(function() {
>
>        // click : temperature de selection, propriete, reference
>
>        $.getJSON("/run_DHM/", {'topic': $("#topic").val(), 'propriete':
> $("#driver").val(),  },  function(data) {
>
>        $("td.min").html(data['val_min']);
>        $("td.max").html(data['val_max']);
>
>
>          });  // getjson
>
>        });   // click
>
>
> </script>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#38 06-02-2012 14:30:18

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

Re : script

merci
j'ai dit marche mal car dans le panel principal j'ai 4 champ pour propriete
durete Vickers___
module elasticite
coeff de poisson
module d'young

dans le premier cas quand je clique sur un des champ j'envoie bien ce champ
et la fonction le recupere avec  val2 = request.POST['propriete']
dans le deuxieme cas c'est toujours le champ durete Vickers___ qui reagit au click
je peux pas envoyer les autres

Hors ligne

#39 06-02-2012 14:36:07

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

Re : script

ton problème c'est que le click ne se fait pas sur le bon element ?

c'est que ton "selecteur" jquery pour le click n'est pas bon...

pour tester un selecteur jQuery, il faut ouvrir ta page, et dans la console
JS, faire $('tonselecteur') puis entrée. tu devrais voir appariatre la
liste des objects DOM qui ont été pris en compte.




Le 6 février 2012 14:30, sesame <pat.100 _AT_ hotmail.fr> a écrit :

> merci
> j'ai dit marche mal car dans le panel principal j'ai 4 champ pour
> propriete
> durete Vickers___
> module elasticite
> coeff de poisson
> module d'young
>
> dans le premier cas quand je clique sur un des champ j'envoie bien ce
> champ
> et la fonction le recupere avec  val2 = request.POST['propriete']
> dans le deuxieme cas c'est toujours le champ durete Vickers___ qui reagit
> au click
> je peux pas envoyer les autres
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

#40 09-02-2012 08:36:02

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

Re : script

bonjour

je crois pas au probleme de selecteur $

c'est plutot ceci :

<form action= "/run_DHM/" method="POST">

<td width="160"  <INPUT type="text" value="{{prop.val_champ}}" id= "driver" name="propriete" />

lorsqu'il y a un seul type de propriete ca marche tres bien

ca aussi est doit etre correct :

$("#driver").click(function() {
       
        $.getJSON("/run_DHM/", {'topic': $("#topic").val(), 'propriete': $("#driver").val(), 'reference': $("#reference").val() },  function(data) {

si un seul champ reagit au click le probleme doit venir de  value="{{prop.val_champ}}"

curieusement,
si je remplace $("#driver").click(..   par  $("input").click
et 'propriete': $("#driver").val() par  'propriete': $(this).val()  tous les champ reagissent correctement mais pas le reste

Hors ligne

#41 14-02-2012 10:14:40

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

Re : script

bonjour

le probleme est le click (pas de renvoi d'erreur sur firebug)

$(document).ready(function() {
        $(".prop").click(function() {
        parent = $(this).parent()
     
        $.getJSON("/run_DHM/", {'temperature': $("#temperature").val(), 'propriete': $("#driver").val(), 'reference': $("#reference").val() },  function(data {

parent.children("td.min").html(data["val_min"]);
parent.children("td.max").html(data["val_max"]);


code html

<td class= "prop" width="160"  ><TT><INPUT type="text" value="{{prop.val_champ}}" id= "driver" name="propriete" /></TT> </td>

<td width="120"><TT><select  name="temperature" id= "temperature"></TT>
<optgroup label="degres">
<option selected="selected" value="0">-- select --</option>
<option value="100">100</option>
........
.......
lorsque je clique et que j'ai un seul champ text ca marche

si j'ai plusieurs champs text quand je clique sur l'un d'eux,  c'est toujours le même qui est renvoye...

j'associe bien la class prop a chaque click et les id correspondant ??

exemple 'durete vickers'  'module elasticite'

si je clique sur module elasticite' c'est  'durete vickers' et les id associes qui sont pris en compte par getjson..

Hors ligne

Pied de page des forums