0

私がやろうとしていることは次のとおりです

私はこのようなURLを持っています/blog/1/sdc/?c=119または/forum/83/ksnd/?c=100私がしたいのは、これらをビューにリダイレクトして、URLを次のように変更できるようにすることです/blog/1/sdc/#c119

これを行う 1 つの方法は、そのような 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 に答える