Hı,我的django代码中有一个模型存储图像的网址,但是我如何编写一个视图,将它们显示为列表中的图像?
class Blog(models.Model):
photo = models.CharField(max_length=200, unique=True)
story = models.TextField(unique=True)
pub_date = models.DateTimeField('date published', default=datetime.datetime.now)
答案 0 :(得分:1)
如果您想拥有对象Blog
的列表,那么您可以在几种情况下执行此操作。第一个是通用视图ListView
:
from django.views.generic.list import ListView
from yourapp.models import Blog
class BlogListView(ListView):
model = Blog
在这种情况下,您的网址将如下所示:
from django.conf.urls import url
from yourapp.views import BlogListView
urlpatterns = [
url(r'^$', BlogListView.as_view(), name='blog-list'),
]
和模板:
{% blog in object_list %}
<img src="{{blog.photo}}">
{% endfor %}
以下是it
上的链接另一种方式是创建请求:
from django.shortcuts import render
from yourapp.models import blog
def blogListView(request):
blog_list = Blog.objects.all()
return request(render, 'path/to/your/template.html', {'blog_list':blog_list})
在这种情况下,您的网址将如下所示:
url(r'^$', views.blogListView, name='blog-list'),
您的模板:
{% for blog in blog_list%}
<img src="{{blog.photo}}">
{% endfor %}
因此,您只需在模板中添加<img src="{{blog.photo}}">