-1
votes

Si sinon le code ne fonctionne pas dans layout.html django

J'essaie de mettre en œuvre une application de blog avec Django.in Page d'accueil Il y aura une liste de message. "post.author.profile.image" est un chemin d'accès à la chargement de la base de données. "post.author.profile.image" n'est pas nécessaire à charger une image alternative et s'il existe, il devrait charger l'image à partir de la base de données.So J'ai essayé le code suivant:

 def homepage(request):
    post= Post.objects.all().order_by('-date')
    return render(request,'layout.html',{'posts':post})

 layout.html

 {% for post in posts %}
    <div class="list">
        <div class="con">
            {% if "post.author.profile.image.url" is None %}
            <img src="{% static 'images/b.png' %}" class='logo3'/>
            {% else %}
            <img src="{{ post.author.profile.image.url }}" class='logo3'/>
            {% endif %}
        </div>
    </div>
  {% endfor %}


3 commentaires

Êtes-vous sûr que les images sont téléchargées avec succès dans le dossier multimédia?


Si l'utilisateur téléchargez l'image lors de l'enregistrement de l'image est chargé parfaiteley.Je suis comme si l'utilisateur n'a pas défini photo de profil lors de l'inscription, je stocke la valeur comme aucun pour lui dans la base de données. Et dans la liste des postes si l'utilisateur a défini la photo de profil J'ai besoin de charger cette image.Si-je pas besoin de charger une image à partir du dossier statique.


Ce serait beaucoup mieux si vous pouviez fournir une image par défaut à l'image de profil utilisateur plutôt que d'insérer un aucun . Alors essayez de fournir l'image statique comme défaut de l'imagefield.


4 Réponses :


0
votes

Essayez ceci xxx


8 commentaires

Si l'utilisateur n'a pas téléchargé photo de profil photo, il charge une image de statique qui est fine. Mais si l'utilisateur a défini la photo de profil, il ne dispose que de l'image statique que l'utilisateur téléchargée


Mon Ans a été mis à jour. Vérifiez s'il vous plaît. Laissez-moi savoir s'il ne fonctionne pas


Ne fonctionne pas. L'image de la base de données est chargée. Mais l'image statique n'est pas chargée si l'utilisateur n'a pas défini photo de profil.


Non trouvé: / Media / Aucun [01 / JUL / 2019 15:30:11] "Get / Media / Aucun http / 1.1" 404 1756.C'est l'erreur de traçabilité que je reçois.Où aucun n'est la valeur de champ si l'utilisateur hasn 't Définir la photo de profil.


L'image est-elle disponible dans statique / images / b.png ?


Vérifiez comment l'URL s'est formée si l'utilisateur téléchargée de l'utilisateur puis comparez le chemin avec votre images / b.png


Le chemin d'accès à l'image de l'image à partir de la base de données est et le chemin d'accès à l'image non chargé est . Où le deuxième support est le nom du dossier où il est téléchargé


Garder b.png sur le dossier multimédia puis utilisez ce chemin



1
votes

Que diriez-vous de vérifier si l'image existe?

{% if post.author.profile.image %}
    <img src="{{ post.author.profile.image.url }}" class='logo3'/>
{% else %}
    <img src="{% static 'images/b.png' %}" class='logo3'/>
{% endif %}


2 commentaires

L'image de la base de données est chargée. Mais l'image statique n'est pas chargée si l'utilisateur n'a pas défini photo de profil. C'est une erreur de pile: non trouvée: / NONE / NONE "Get / Media / Aucun HTTP / 1.1" 404 1756.


Avez-vous défini le static_root correctement? Parfois, cela se produit également si des paramètres.debug est vrai, et les URL statiques ne sont pas configurées correctement. Reportez-vous à cette question: Stackoverflow.com/questions/37109582/...



-2
votes
 {% if post.author.profile.image == 'null' %}
  <img src="{% static 'images\b.jpg' %}" class="logo3">
 {% else %}
  <img src="{{post.author.profile.image.url}}" class="logo3">
 {% endif %}
I still wonder how this code worked .I tried this before but at that time it was not working may be i would had done some other mistake.But this code is working.

1 commentaires

Si vous ne savez pas comment il "fonctionne", ce n'est pas une réponse valide (même à votre propre question).



0
votes

ici xxx

vous testez si la chaîne littérale "post.author.profile.image.url" n'est pas - ce qu'il est garanti d'être faux , puisque une chaîne littérale n'est jamais Aucun .

Vous voulez la variable elle-même: xxx


0 commentaires