Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django的条件Url模式_Django_Url_Django Middleware - Fatal编程技术网

Django的条件Url模式

Django的条件Url模式,django,url,django-middleware,Django,Url,Django Middleware,我有一个问题,我必须发送两个部分相同格式的URL到不同的视图 例如,域/地/一个笔刷将转到views.landrequest,id,其中id是一个笔刷 类似地,domain/land/one-brush/include/images/dot.jpg将通过自定义视图或django静态服务进行静态服务。。我喜欢静态发球 我想到的一件事是,要编写两个url模式,一个用于land//,另一个用于land//anything/will/do。第一个将重定向到自定义url,第二个将以静态方式提供 如果有更好

我有一个问题,我必须发送两个部分相同格式的URL到不同的视图

例如,域/地/一个笔刷将转到views.landrequest,id,其中id是一个笔刷

类似地,domain/land/one-brush/include/images/dot.jpg将通过自定义视图或django静态服务进行静态服务。。我喜欢静态发球

我想到的一件事是,要编写两个url模式,一个用于land//,另一个用于land//anything/will/do。第一个将重定向到自定义url,第二个将以静态方式提供


如果有更好的方法,我们将不胜感激。

了解django如何使用处理静态文件,请注意,静态文件应该放在与项目中其他文件完全不同的目录中

STATICFILES_DIRS = (
    "/home/special.polls.com/polls/static",
    "/home/polls.com/polls/static",
    "/opt/webfiles/common",
)
在实际部署中,django不应该提供静态文件,apache/nginx等可以更好地完成这项工作,而amazon/rackspace/google storage等cdn可以更好地完成这项工作

分离静态文件通常是通过使用这样的工具来实现的,它还可以帮助您丑化文件、压缩文件等

无论如何,如果您仍然希望提供一些以相同路径开头的URL,请记住django将尝试在列表中查找第一个匹配项,这意味着您将希望:

domain/land/one-brush/include/images/
之前:

domain/land/one-brush/

我认为最好定义两个url模式,而不是在url配置中引入逻辑。