2011-06-10 61 views
1

我正在使用imagefield渲染圖像。這些是網址;django imagefield中圖像的相對url映射

(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', 
    {'document_root': site_media}), 
    (r'^$', 'webapp.blog.views.index'), 
    url(
     r'^blog/view/(?P<slug>[^\.]+).html', 
     'webapp.blog.views.view_post', 
     name='view_blog_post'), 

這些意見:

def index(request): 
    return render_to_response('index.html', { 
     'categories': Category.objects.all(), 
     'posts': Blog.objects.all()[:5] 
    }) 

def view_post(request, slug): 
    return render_to_response('view_post.html', { 
     'post': get_object_or_404(Blog, slug=slug), 
    }) 

如果我打電話與{{ posts.photos.url }}在索引頁面中的圖像對象得當映射到http://127.0.0.1/site_media/images/image.jpg。但是,如果我在view_post模板上調用圖像對象,它將映射到http://127.0.0.1/blog/view/site_media/images/image.jpg。如何將view_post功能映像圖像網址設置爲正確的http://127.0.0.1/site_media/images/image.jpg網址。

回答

2

這不是你的urlconf的功能,而是你如何在你的模板中顯示圖像。你可能會做這樣的事情:

<img src="site_media/images/image.jpg"> 

時,你應該做

<img src="/site_media/images/image.jpg"> 

...注意開頭的斜線。或者,如果您使用的是STATIC_URL或MEDIA_URL,請確保它們是在settings.py中使用初始斜線定義的。

+0

這解決了問題'' – nixnotwin 2011-06-11 08:02:35