【问题标题】:Pull and display image on server:Django在服务器上拉取并显示图像:Django
【发布时间】:2012-01-06 03:45:54
【问题描述】:

我有一个网址。

**"/deals/image/"+name**

name 是一个提供图像名称的变量。

迎合这个url的视图是

def image(request,name = None):
    if name == None:
        name = "3gmjr0kme6_coffee-art.jpg"
    else:
        name = str(name)
    this_directory = settings.PROJECT_ROOT
    url = this_directory+"\\templates\\media\\images\\photos\\"
    full =url+name 
    image_data = open(full, "rb").read()
    return HttpResponse(image_data, mimetype="image/png")

我面临的问题是由于点“。”而无法获得此视图。即“/deals/image/some_image.jpg”无法找到视图。我该如何计算“。”?还是我做错了什么?

urls文件如下

 url(r'^image/(\w+)$','image'),

我们将不胜感激。

【问题讨论】:

  • Python(以及 Django)使用的正则表达式有据可查,例如 Python home page
  • 这在 djangoproject.com 上有很好的记录 如果你在那里不理解,我们如何让你理解?

标签: django django-views django-urls


【解决方案1】:

将 URL 配置更改为如下内容:

url(r'^image/([\w\.]+)$','image')
  • [...] 部分是一个字符集。它将匹配里面的所有字符。
  • \w 用于匹配普通字符(A 到 Z 和 a 到 z)、数字和下划线“_”。
  • \. 匹配文字点。
  • + 表示前面的一个或多个表达式。

\w\. 放在一个字符集 ([]) 中时,它将匹配所有字符和数字,以及下划线和点。将+ 放在后面意味着集合中必须至少有一个字符。

【讨论】:

  • 抱歉我的粗鲁评论。我被这个问题困扰了一段时间。非常感谢你的帮助。但请放心,我确实试图理解它。
猜你喜欢
  • 2020-03-25
  • 2013-09-04
  • 1970-01-01
  • 1970-01-01
  • 2021-02-01
  • 2018-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多