10
votes

Suivi Django Pixel

J'utilise Django pour faire un traqueur de pixels sur un email

est-il facile de renvoyer une image réelle d'une vue Django (et comment cela se ferait-il?) Ou est-il plus facile de simplement retourner une redirection à l'URL où l'image réelle vit?


0 commentaires

4 Réponses :


2
votes

django a un Fichier statique assistant qui pourrait être utilisé pour Servir l'image, mais il n'est pas recommandé en raison de la performance. Je crois qu'avoir une vue qui fait la comptabilité de suivre le pixel, puis redirige vers une URL qui sert l'image réelle via le serveur Web va vous donner la meilleure performance.


0 commentaires

7
votes

Vous n'avez pas besoin d'une image réelle pour un pixel Tracker. En fait, il vaut mieux si vous n'en avez pas.

Utilisez simplement la vue comme source de la balise d'image et de renvoyer une réponse vide.


3 commentaires

Le type de contenu je répond-je avec la matière?


Oui, vous devriez probablement en faire image / png.


Pour l'enregistrement, j'ai remarqué que l'envoi d'une réponse vierge peut être problématique - au moins dans Gmail sur Chrome, ce qui entraîne une glyphe d'image cassée apparaissant dans le message. Il est préférable de diffuser une image triviale, comme suggéré par Russell Keith-Magee .



7
votes

Étant donné que c'était le premier résultat de ma recherche Google et que la meilleure réponse est enterrée dans le lien de Daniel (mais non mentionné comme le meilleur), j'ai pensé que je voudrais simplement poster la réponse afin que personne ne soit tenté de retourner une réponse vierge Ce que, comme un point de Michael, n'est pas idéal.

La solution consiste à utiliser une vue standard et à renvoyer une page HTTPResponse avec les données brutes qui constituent un gif de pixel unique. Ne pas avoir à toucher le disque ou le redirection est un avantage énorme.

Notez que le motif d'URL utilise le code de suivi comme nom d'image afin qu'il n'y ait pas d'évidence? CODE = JF8992JF dans l'URL. xxx

et voici la vue. Notez qu'il utilise Cache_Control pour empêcher les demandes d'exécuter sauvage. Firefox (avec de nombreux clients de messagerie), par exemple, demandera l'image deux fois à chaque fois pour une raison quelconque, vous ne vous souciez probablement que de vous inquiéter. En ajoutant max_age = 60, vous obtiendrez une demande par minute. xxx



1
votes