##やりたいこと
Djangoでブログをつくるまで①
上記のサイトを参考にブログサイトで記事を一覧表示したいのですが、
記事の中に画像が含まれていない記事の場合でやろうとしてmodelを変更し、hasattrとifで条件分岐を
しようとしたのですが以下のようなエラーが出てしまい解決できません。
お手数ですが、よろしくお願いいたします!!
TemplateSyntaxError at /posts/post_list/
Could not parse the remainder: '(post,' from 'hasattr(post,'
Request Method: GET
Request URL: http://127.0.0.1:8000/posts/post_list/
Django Version: 2.1.4
Exception Type: TemplateSyntaxError
Exception Value:
Could not parse the remainder: '(post,' from 'hasattr(post,'
Exception Location: python3.7/site-packages/django/template/base.py in init, line 663
##コード
html
1post_list.html 2 3{% extends "posts/base.html" %} 4{% load static %} 5{% block content %} 6<article class="post"> 7 {% for post in posts.all %} 8 <h3><a href = "{% url 'post_detail' post.id %}" >{{ post.title }}</a></h3> 9 {{ post.published }} 10 {% if hasattr(post, 'image') %} 11 <img src="{{ post.image.url }}"/> 12 {% endif %} 13 {{ post.summary }} 14 {% endfor %} 15</article> 16{% endblock %}
model
1from django.db import models 2 3class Post(models.Model): 4 title = models.CharField(max_length=100) 5 published = models.DateTimeField() 6 image = models.ImageField(upload_to='postimg/', blank=True, null=True) 7 body = models.TextField() 8 9 def __str__(self): 10 return self.title 11 12 def summary(self): 13 return self.body[:30]
view
1from .models import Post 2from django.shortcuts import render, get_object_or_404 3 4def post_list(request): 5 posts = Post.objects.order_by('-published') 6 return render(request, 'posts/post_list.html', {'posts': posts})
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/12/10 03:56
2018/12/10 04:06