Django-fr

Forum

#1 08-07-2013 09:29:40

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

lien dynamique

bonjour

depuis deux jours je suis sur ce probleme

dans mon model j'ai le champ title qui me sert a creer un lien dynamique vers un fichier texte

title = models.CharField(_('reference'), max_length=100, blank= True)

il suffit que dans l'admin j'enregistre le nom de fichier qui correspond au fichier cree dans le dossier media (par exemple Al2O3_Vickers Hardness (GPa).txt)

dans mon template ce lien dynamique est cree par

<td class="ref" width="200" ><TT><a id="target_ahref" href="{{ STATIC_URL }}medias/{{ prop.title }}"> {{ prop.title }} </a></TT></td>

maintenant si je voulais que ces liens dynamiques soient crees automatiquement a l 'ouverture de la page

je recupere dans le template le nom de fichier en passant par une fonction du module views.py

$.getJSON("{% url run_DHM %}", {'temperature': temp, 'propriete':  index, 'reference': uneref }, function(data) {


nomfichier = data['laval_ref'];

puis je fais

document.getElementById('target_ahref').innerHTML = nomfichier

la le lien dynamique apparait bien mais quand je clique dessus ca renvoie une chaine vide....

si j'ecris comme j'ai vu

document.getElementById('target_ahref').href = nomfichier

la le nom de fichier n'apparait plus du tout.....??

Hors ligne

#2 09-07-2013 08:19:27

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

Re : lien dynamique

quelqu'un sait il quand j'utilise

document.getElementById('target_ahref').innerHTML = nomfichier

en cliquant sur le lien dynamique j'envoie

http://127.0.0.1:8000/static/medias/

alors que je devrais envoyer (par exemple)

http://127.0.0.1:8000/static/medias/Al2O3_Vickers Hardness (GPa).txt

d'ou Page not found (404)

Request URL:     http://127.0.0.1:8000/static/medias/

Dernière modification par sesame (09-07-2013 08:22:30)

Hors ligne

#3 12-07-2013 10:14:47

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

Re : lien dynamique

quelqu'un ayant une bonne connaissance des fichiers statiques peut il me repondre ?

Hors ligne

#4 13-07-2013 12:47:57

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : lien dynamique

Bonjour,

La première chose à vérifier est d'afficher le {{ STATIC_URL }}medias/{{ prop.title }} dans ton template et de vérifier son contenu.
S'il est correct, il s'agit d'un souci de javascript.

Hors ligne

#5 14-07-2013 06:21:32

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

Re : lien dynamique

quand je rentre manuellement dans l'admin ( title = models.CharField)
le nom de fichier correspondant qui est dans  /static/medias/, j'affiche bien un lien dynamique et si je clique dessus j'ouvre correctement le fichier

j'envoie bien http://127.0.0.1:8000/static/medias/Al2O3_Vickers Hardnees (GPa).txt  (par exemple)

le probleme vient de document.getElementById('target_ahref').innerHTM

Hors ligne

#6 15-07-2013 09:01:36

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

Re : lien dynamique

le probleme revient dire

comment fait on avec document.getElementById  pour aller ecrire derriere {{ STATIC_URL }}medias/ ??

Hors ligne

#7 18-07-2013 09:19:18

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

Re : lien dynamique

si j'ecrie

var MEDIA_URL = "{{ STATIC_URL }}";

var a = document.getElementById("target_ahref");

a.setAttribute("href", MEDIA_URL + donnees_ref );        // donnees_ref : nom de fichier


et dans la partie html

<td class="ref" width="200" ><TT><a id="target_ahref" href=" " > </a></TT></td>

ca devrait marcher ??

Hors ligne

#8 19-07-2013 22:38:04

Xavier Ordoquy
Administrateur
Lieu : Puteaux, France
Inscription : 12-10-2011
Messages : 312
Site Web

Re : lien dynamique

Il s'agit ici de javascript "pur" et c'est loin d'être mon domaine.
Je ne peux que t'engager à afficher le résultat de la page rendue et de poser la question sur un forum javascript.

Hors ligne

Pied de page des forums