2016-11-28 4 views
0

私は画像のURLを格納する私のジャンゴコードのモデルを持っていますが、リストにイメージとして表示するビューを作成するにはどうすればいいですか?Djangoはイメージ/ビューにURLを返します

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

<img src="{{blog.photo}}">を追加しているがありますそれを行う方法はいろいろありますが、画像が保存されている場所に関するいくつかの文脈を提供することができます。あなたのドメインでホストされている場合、または外部の画像である場合 –

+0

私の答えをチェックしてください、私はちょうどそれを更新しました –

+0

@elvieまた、あなたは[写真]の[URLField](https://docs.djangoproject.com/en/1.10/ref/models/fields/#urlfield) 'フィールド。 –

答えて

1

オブジェクトBlogのリストを持っているしたい場合は、いくつかのケースでそれを行うことができます。あなたのURLは、その場合にはそのようなルックス

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

上のリンクである最初のものは、汎用ビュー ListViewあります

他の方法はリクエストを作成しています:

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は次のようになります。

url(r'^$', views.blogListView, name='blog-list'), 

をお使いのテンプレート:

{% for blog in blog_list%} 
    <img src="{{blog.photo}}"> 
{% endfor %} 

だから、あなたは自分のテンプレートに

関連する問題