gpt4 book ai didi

python - 使用正则表达式在 Django 中动态重定向页面?

转载 作者:太空宇宙 更新时间:2023-11-04 01:29:15 24 4
gpt4 key购买 nike

我对 Django 中的 url.py 有疑问。

在我的应用程序中,我有很多网址,例如:

aaa-2011-bbb
aaa-2011

我想将这些网址重定向到没有年份的新网址。所以我需要从网址中删除年份。可能吗?

我只有这样的静态映射:

(r'^aaa-\d{4}-bbb/$', redirect_to, {'url': '/aaa-bbb/'}),

但我不喜欢为每个带有年份的网址都写这条规则。

最佳答案

我会继承RedirectView并使用它来支持动态重定向

urls.py 类似

(r'^(?P<aaa>\w+)-\d{4}-(?P<bbb>\w+)/$', MyRedirectView.as_view()),

并且在 views.py

from django.views.generic.base import RedirectView

class MyRedirectView(RedirectView):
permanent = False
query_string = True

def get_redirect_url(self, aaa, bbb):
return '%s-%s' % (aaa, bbb)

这从 urls.py(假设是字符串并从您描述的 url 重定向)并返回由 '%s-%s' % (aaa, bbb)

组成的重定向 url

关于python - 使用正则表达式在 Django 中动态重定向页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15117605/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com