2014-11-07 57 views
0

简单的问题,不知道如何解释它除了粘贴我的代码在这里....图像加载索引视图,而不是category_photos视图。Django模板在子路径上获取错误的静态文件url

下面是HTTP响应,将完美地诠释了这一点:

"GET/HTTP/1.1" 200 16912 
"GET /static/media/uploads/CF-10.jpg HTTP/1.1" 304 0 
"GET /static/media/uploads/CF-08.jpg HTTP/1.1" 304 0 
"GET /static/media/uploads/CF-09.jpg HTTP/1.1" 304 0 
"GET /group/2/ HTTP/1.1" 200 16194 
"GET /group/2/static/media/uploads/CF-09.jpg HTTP/1.1" 404 13515 
"GET /group/2/static/media/uploads/CF-08.jpg HTTP/1.1" 404 13515 
"GET /group/2/static/media/uploads/CF-10.jpg HTTP/1.1" 404 13515 

urls.py

from django.conf.urls import patterns, url, include 
from portfolio import views 

urlpatterns = patterns('', 
    url(r'^$', 'portfolio.views.index', name='index'), 

    url(r'group/(?P<pk>\d+)/$', 
     'portfolio.views.category_photos', 
     name="category_photos"), 
) 

views.py

def index(request): 
    groups = Group.objects.all() 
    context = {'groups': groups} 
    return render(request, 'portfolio/index.html', context) 

def category_photos(request, pk): 
    groups = Group.objects.all() 
    selected = Group.objects.filter(id=pk)[0] 

    return render(request, 'portfolio/individual-group.html', {'groups': groups, 'selected': selected}) 

相关模板:

的index.html(这一个工程)

{% for group in groups %} 
    <h2 class="clearfix:before" id="{{group.abbv}}">{{group.title}}</h1> 
    <div id="gallery-{{group.id}}" class="gallery container"> 

     {% for photo in group.photos.all %} 
     <div class="box"> 
      <a href="/{{ photo.image.url }}" title="{{ photo.category_image }}"> 
       <img src="/{{photo.image.url}}" alt="{{photo.category_image}}"> 
      </a> 
     </div> 
     {% endfor %} 
    </div> 
{% endfor %} 

个体group.html(>>>> THIS ONE不起作用< < < <)

{% for photo in selected.photos.all %} 
<div class="box"> 
    <a href="/{{photo.image.url }}" title="{{ photo.category_image }}"> 
     <img src="/{{photo.image.url}}" alt="{{photo.category_image}}"> 
    </a> 
</div> 
{% endfor %} 

Settings.py

只包括媒体/静态的东西,因为我很确定这是什么第eproblem是

PROJECT_ROOT = os.path.join(os.path.dirname(__file__), '..', '..') 

MEDIA_ROOT = os.path.join(PROJECT_ROOT, 'static/media') 
MEDIA_URL = 'static/media/uploads/' 
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') 
STATIC_URL = '/static/' 
+0

为什么你有'./'?理想情况下,你要做'{{STATIC_URL}} {{{{photo.image.url}}}}''。/'正在寻找相对于当前工作目录的路径,而'/'正在寻找项目根目录,这是当前目录上面的2个目录 – karthikr 2014-11-07 03:31:02

+0

哦,我正在试验,可能不在那里了。让我再看一遍。 – 2014-11-07 17:53:02

+0

好吧,重新确认有一个主要的斜杠 - 我同意似乎并不理想,并导致我相信某些东西仍然时髦w /我的配置。 – 2014-11-07 17:54:55

回答

0

好了,我是持开放的态度可以解释这个其他答案,但这个固定 - PLZ让我知道,如果这是在任何愚蠢的。

urls.py

from django.conf import settings 

...是...小时... ...小时图了这一点。我要去哭自己睡觉。

相关问题