0

我想做的是如下

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

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

谁能帮忙,我不擅长正则表达式。

4

1 回答 1

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/

于 2012-07-03T06:23:46.087 回答