我有一个网址。
**"/deals/image/"+name**
name是一个给出图像名称的变量。
迎合此网址的观点是
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'),
任何帮助都将受到高度赞赏。
答案 0 :(得分:2)
将URL配置更改为以下内容:
url(r'^image/([\w\.]+)$','image')
[...]
部分是字符集。它将匹配里面的所有字符。\w
用于匹配普通字符(A到Z和a到z),数字和下划线“_”。\.
与文字点匹配。+
表示前一个表达式中的一个或多个。当\w
和\.
放在一个字符集([]
)中时,它将匹配所有字符和数字,以及下划线和点。将+
放在后面意味着集合中必须至少有一个字符。