在服务器上拉取并显示图像:Django

在服务器上拉取并显示图像:Django,django,django-views,django-urls,Django,Django Views,Django Urls,我有一个网址 **"/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_

我有一个网址

**"/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”无法找到该视图。我该怎么解释这件事呢?还是我做错了什么

URL文件如下所示

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

非常感谢您的帮助。

请将URL配置更改为以下内容:

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

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

Python使用的正则表达式(因此Django)有很好的文档记录,例如在上。这在djangoproject.com上有很好的文档记录。如果您不理解,我们如何让您理解?对不起,我的粗鲁评论。这个问题困扰了我一段时间。非常感谢你的帮助。但请放心,我确实试着去理解它。