当我使用类别文章{% for %}时,我无法获得与图像相关的值。 我尝试使用select_related,但我不知道如何定义图像以正确显示在我的<img />标签的src=""属性中
是否有一种干净的方式让我看起来像我想要的?
models.py
class Image(models.Model): gallery = models.ManyToManyField(Gallery) name = models.CharField(max_length=100) image = models.ImageField(upload_to='static/images/gallery') def __str__(self): return self.name class Article(models.Model): section = models.ForeignKey(Menu) title = models.CharField(max_length=100) text = models.TextField() type = models.ForeignKey(Type) image = models.ManyToManyField(Image) def __str__(self): return self.titleviews.py
def index(request): slider = Article.objects.all() images = Image.objects.all() return render(request, 'cms/index.html', locals())模板
{% for i in slider %} <li> <img src="{{i.image}}" alt="{{i.title}}"/> <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}I can't get the image related value when I'm using {% for %} with the class Article. I tried with select_related, but I don't know how to define image to be correctly in displayed in the src="" attribute of my <img /> tag
Is there a clean way to make appear as I want?
models.py
class Image(models.Model): gallery = models.ManyToManyField(Gallery) name = models.CharField(max_length=100) image = models.ImageField(upload_to='static/images/gallery') def __str__(self): return self.name class Article(models.Model): section = models.ForeignKey(Menu) title = models.CharField(max_length=100) text = models.TextField() type = models.ForeignKey(Type) image = models.ManyToManyField(Image) def __str__(self): return self.titleviews.py
def index(request): slider = Article.objects.all() images = Image.objects.all() return render(request, 'cms/index.html', locals())template
{% for i in slider %} <li> <img src="{{i.image}}" alt="{{i.title}}"/> <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}最满意答案
您必须使用2 forloop在manymanmany表中显示图像。
{% for i in slider %} <li> {% for im in i.image.all %} <img src="{{im.image.url}}" alt="{{im.name}}"/> {% endfor %} <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}You have to use 2 forloop for displaying images in manytomany table.
{% for i in slider %} <li> {% for im in i.image.all %} <img src="{{im.image.url}}" alt="{{im.name}}"/> {% endfor %} <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}Python / Django - 获取for标签中ManyToManyField的值(Python/Django - Get value of a ManyToManyField in a for tag)当我使用类别文章{% for %}时,我无法获得与图像相关的值。 我尝试使用select_related,但我不知道如何定义图像以正确显示在我的<img />标签的src=""属性中
是否有一种干净的方式让我看起来像我想要的?
models.py
class Image(models.Model): gallery = models.ManyToManyField(Gallery) name = models.CharField(max_length=100) image = models.ImageField(upload_to='static/images/gallery') def __str__(self): return self.name class Article(models.Model): section = models.ForeignKey(Menu) title = models.CharField(max_length=100) text = models.TextField() type = models.ForeignKey(Type) image = models.ManyToManyField(Image) def __str__(self): return self.titleviews.py
def index(request): slider = Article.objects.all() images = Image.objects.all() return render(request, 'cms/index.html', locals())模板
{% for i in slider %} <li> <img src="{{i.image}}" alt="{{i.title}}"/> <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}I can't get the image related value when I'm using {% for %} with the class Article. I tried with select_related, but I don't know how to define image to be correctly in displayed in the src="" attribute of my <img /> tag
Is there a clean way to make appear as I want?
models.py
class Image(models.Model): gallery = models.ManyToManyField(Gallery) name = models.CharField(max_length=100) image = models.ImageField(upload_to='static/images/gallery') def __str__(self): return self.name class Article(models.Model): section = models.ForeignKey(Menu) title = models.CharField(max_length=100) text = models.TextField() type = models.ForeignKey(Type) image = models.ManyToManyField(Image) def __str__(self): return self.titleviews.py
def index(request): slider = Article.objects.all() images = Image.objects.all() return render(request, 'cms/index.html', locals())template
{% for i in slider %} <li> <img src="{{i.image}}" alt="{{i.title}}"/> <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}最满意答案
您必须使用2 forloop在manymanmany表中显示图像。
{% for i in slider %} <li> {% for im in i.image.all %} <img src="{{im.image.url}}" alt="{{im.name}}"/> {% endfor %} <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}You have to use 2 forloop for displaying images in manytomany table.
{% for i in slider %} <li> {% for im in i.image.all %} <img src="{{im.image.url}}" alt="{{im.name}}"/> {% endfor %} <h2>{{i.title}}</h2> <p>{{i.text}}, {{i.image_url}}</p> </li> {% endfor %}
发布评论