gpt4 book ai didi

python - 如何将 never_cache 应用于第三方 Django 应用程序的 url?

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:41 26 4
gpt4 key购买 nike

我正在尝试在 urls.py 中使用 @never_cache 装饰器。我认为可以使用

url(r'^about/', never_cache(TemplateView.as_view(template_name="about_us.html"))),

但很多时候我使用外部应用程序,我所做的只是 url('', include(shop.urls)) 一个例子是 django-oscar 。现在我在这种情况下应用 never_cache 吗?

最佳答案

您可能会通过 django-snippets 中的这种方法找到运气。 :

from django.conf.urls.defaults import url
from django.views.decorators.cache import never_cache

def never_cache_patterns(prefix, *args):
pattern_list = [], tterns,
for t in args:
if isinstance(t, (list, tuple)):
t = url(prefix=prefix, *t)
elif isinstance(t, RegexURLPattern):
t.add_prefix(prefix)

t._callback = never_cache(t.callback)
pattern_list.append(t)

return pattern_list


urlpatterns = never_cache_patterns('',
(r'foo/$', 'myview')
)

看起来没有办法以更干净的方式做到这一点。

如果您想将其应用于另一个应用程序中您无法编辑的一组网址,那么您可以尝试:

uncached_patterns = never_cache_patterns('',
url(r'^$', include('shop.urls')),
)

urlpatterns = patterns('',
include(uncached_patterns),
# other patterns
# eg. url(r'^myapp/', include('myapp.urls', namespace="myapp")),
# ...
)

关于python - 如何将 never_cache 应用于第三方 Django 应用程序的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25054976/

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