Django将url转换为图像/视图

时间:2016-11-28 18:01:39

标签: django django-models django-templates django-views

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)

1 个答案:

答案 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}}">