【问题标题】:django-photologue constructs the wrong URLs for photosdjango-photologue 为照片构建错误的 URL
【发布时间】:2011-10-20 23:43:52
【问题描述】:

我已经安装了django-photologue 并向数据库中添加了一些照片。基本的网站机制似乎工作正常,除了没有显示照片或缩略图。图片和缩略图在 ..\django\media\photologue\photos 中。

对于 photo_detail 页面,生成的 HTML 源代码如下所示:

<title>Greece 3</title>
<h1>Greece 3</h1>
<div class="gallery-photo">
  <a href="photologue/photos/greece003.jpg"><img src="photologue/photos/cache/greece003_display.jpg" alt="Greece 3"/></a>
  <p>no caption yet</p>
</div>
<h2>This photo is found in the following galleries:</h2>
<ol>
  <li>
    <a title="Greece 2" href="/photologue/photo/greece-2/"><img src="photologue/photos/cache/greece002_thumbnail.jpg"/></a>
    <a href="/photologue/gallery/greece/">LSB Photos - Greece</a> 
    <a title="Greece 4" href="/photologue/photo/greece-4/"><img src="photologue/photos/cache/greece004_thumbnail.jpg"/></a>
  </li>
</ol>

在我看来,img src 文件没有解析到正确的位置,因此不会显示。我认为 MEDIA_ROOT 和 MEDIA_SITE 是正确的,其他应用程序的媒体就像我预期的那样工作。

>>> import settings
>>> settings.MEDIA_ROOT
'c:/design.ed/django/media/'
>>> settings.MEDIA_URL
''

这是 photologue 模块本身给我的。

>>> from photologue import models as phl
>>> phl.PHOTOLOGUE_DIR
'photologue'
>>> phl.PHOTOLOGUE_PATH
>>> phl.get_storage_path(None, 'foo.jpg')
'photologue\\photos\\foo.jpg'

我在这里错过了什么?

【问题讨论】:

    标签: django photologue


    【解决方案1】:

    我想我已经回答了我自己的问题。该问题与 photologue 无关:相反,settings.MEDIA_URL 设置不正确(因为我以前从未通过 Django 实际提供过任何媒体)。

    就我而言,我使用默认的 Django 服务器在本地运行(我知道您不应该在生产环境中这样做)。所以我在我的 urls.py 中有这个:

    (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',
       {'document_root': MEDIA_ROOT, 'show_indexes': True}),
    

    但 MEDIA_URL 是默认的空字符串。相反,我将其更改为

    MEDIA_URL = '/site_media/'
    

    这是它应该在的地方(在这种情况下,前导和尾随斜杠都是必需的),所有的魔法都奏效了。很抱歉用照片细节掩盖了这个问题。

    【讨论】:

      猜你喜欢
      • 2013-12-16
      • 1970-01-01
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      • 2013-04-13
      • 1970-01-01
      • 1970-01-01
      • 2015-01-21
      相关资源
      最近更新 更多