django中的正则表达式为url

时间:2012-07-03 06:20:00

标签: python regex django url

我想做的是如下

我有这样的网址/blog/1/sdc/?c=119/forum/83/ksnd/?c=100我想要做的是将这些网址重定向到视图,以便我可以将网址更改为/blog/1/sdc/#c119

这样做的一种方法是在每个应用程序的视图中进行配置,其中可能生成这样的URL,但这不是可伸缩的。我想要做的是捕获最后有?c=<some_digit>的任何网址并重定向到我的自定义视图。

任何人都可以帮忙,我对正则表达式并不擅长。

1 个答案:

答案 0 :(得分:4)

您不能在urlconf中执行此操作,它与查询字符串中的任何内容都不匹配。您需要做的是编写一个中间件:

class RedirectMiddleware:
    def process_request(self, request):
        if 'c' in request.GET:
            # return a HttpResponseRedirect here

有关详细信息,请参阅https://docs.djangoproject.com/en/dev/topics/http/middleware/