【问题标题】:displaying images in django wrong url在 django 中显示图像错误的 url
【发布时间】:2015-05-17 11:23:34
【问题描述】:

我正在使用 django 1.7。我在显示上传的图像时遇到了困难。页面的源代码显示的是 url

http://127.0.0.1:8888/user/<user.slug>/images/user/main/IMG_3826.JPG

但该文件夹不存在。我应该在我的代码中进行哪些更改以从中删除 /user/&lt;user.slug&gt;

urls.py

urlpatterns += patterns('',
                        (r'^media/(?P<path>.*)$', 'django.views.static.serve', {
                         'document_root': settings.MEDIA_ROOT}))

settings.py

MEDIA_ROOT = (os.path.join(ROOT_DIR, 'images'))
MEDIA_URL = '/images/'

【问题讨论】:

  • 你从哪里调用这个网址?表示在 href="...."????
  • 它的

标签: python django image url


【解决方案1】:

(我假设您了解自定义过滤器) 一种解决方案是制作自定义模板过滤器以从http://127.0.0.1:8888/user//images/user/main/IMG_3826.JPG 中删除“/user/”字符串 像这样。您可以在 django 网站上找到参考来制作自定义过滤器。

{{ page_user.myuserprofile.image|remove_url }}

在模板标签中写这样的代码:

def remove_url(url):
    u = url.split('/')
    u1 = u[0]+"/"+u[3]+"/"+u[4]+"/"+u[5]+"/"+u[6]
    return u1

这将返回您 http://127.0.0.1:8888/images/user/main/IMG_3826.JPG

【讨论】:

  • 但这只是一个技巧。我的困惑是为什么它将我引导到该网址。不仅在这个页面上,在其他页面上我也面临同样的问题
  • 请在 src 处提出斜线然后查看:
猜你喜欢
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 2020-08-16
  • 2017-05-31
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2015-07-28
相关资源
最近更新 更多