2010-07-27 10 views
0

J'utilise django-googlecharts pour générer un camembert simple. A l'intérieur de la balise img, cela fonctionne très bien, mais si je colle le fichier img src dans la barre d'adresse du navigateur, google renvoie "Bad Request", "Votre client a émis une requête malformée ou illégale".google charts url fonctionne dans img tag mais pas dans la barre d'adresse du navigateur

J'ai suivi l'exemple dans la documentation django-googlecharts ici:

http://github.com/jacobian/django-googlecharts/blob/master/docs/examples.html

et en fait, ces exemples de la documentation ont le même problème. Ainsi, par exemple:

<img src="http://chart.apis.google.com/chart?chs=300x200&amp;cht=p&amp;chl=One|Two|Three&amp;chd=e:VVqq.." width="300" height="200" alt="It worked!" /> 

fonctionne très bien dans la page Web, mais la coupe src et collé dans la barre d'adresse du navigateur ne fonctionne pas:

http://chart.apis.google.com/chart?chs=300x200&amp;cht=p&amp;chl=One|Two|Three&amp;chd=e:VVqq.. 

Je ne sais pas si cela est un codage problème ou autre chose. J'ai essayé d'intégrer ces graphiques dans un email HTML sans chance, et je me demande si trouver cette partie dehors mènera à la solution. Merci de votre aide!

Répondre

1

Le navigateur interprète les esperluettes &amp; échappées en véritables esperluettes & lorsqu'elles sont utilisées dans une balise d'image, mais pas lorsqu'elles sont directement placées dans la barre d'adresse. L'url http://chart.apis.google.com/chart?chs=300x200&cht=p&chl=One|Two|Three&chd=e:VVqq.. fonctionne très bien dans le navigateur.

+0

Oh mec, j'aurais dû regarder de plus près. Merci beaucoup. – asciitaxi

1

Vous avez des entités HTML dans l'URL. Il suffit d'utiliser un HTML entity decoder:

http://chart.apis.google.com/chart?chs=300x200&cht=p&chl=One|Two|Three&chd=e:VVqq. 

C'est l'entité HTML décodé version de l'URL que vous avez ci-dessus. Passez le simplement par le décodeur que j'ai lié.

Espérons que cela aide!