我有一个问题,我必须将两个部分相同格式的网址发送到不同的视图。
例如。 “domain / land / one-brush”将转到views.land(request,id),其中id是“one-brush”
类似domain / land / one-brush / include / images / dot.jpg将通过自定义视图或django静态服务静态提供..我更喜欢静态服务。
我想到的一件事就是写两个url模式一个用于土地//和另一个用于土地//任何/将要/做。首先将重定向到自定义网址,第二个将静态提供..
任何更好的方式都会受到赞赏。
答案 0 :(得分:0)
了解django如何使用django staticfiles app处理静态文件,请注意静态文件应放在与项目中其他文件完全不同的目录中
STATICFILES_DIRS = (
"/home/special.polls.com/polls/static",
"/home/polls.com/polls/static",
"/opt/webfiles/common",
)
在现实世界的部署中,django不应该提供静态文件,这项工作最好通过apache / nginx等完成,甚至更好地通过某些cdn,如amazon的/ rackspace / google存储等。
分离静态文件通常是通过使用django pipline之类的工具来实现的,这些工具也可以帮助您解决文件,拉链等问题。
无论如何,如果您仍想提供一些以相同路径开头的网址,请记住django会尝试在列表中找到第一个匹配,这意味着您要放置:
domain/land/one-brush/include/images/
之前:
domain/land/one-brush/