我应该使用中间件还是为此写一个装饰器?
我有一种情况,用户会被要求输入他们的邮政编码,一旦他们被重定向到与他们输入的邮政编码相关的内容的网站,会有类别等等。简而言之,用户将看到仅与其区域相关的内容。我应该使用中间件还是为此写一个装饰器?
计划 - 我想存储在cookie中的邮政编码和每次他们回来到现场,当然时间重新使用它,如果没有邮政编码,他们应该直接在进入它表单。表单将在任何其他内容出现之前呈现。
我的问题是我应该使用一个装饰器来装饰这个视图和一个自定义的装饰器?或者应该写中间件?如果我为此编写自定义中间件,则应使用process_request process_view,在我看来,每次请求都会调用process_request,这可能会造成问题。
谢谢!
JeffC
回答:
这里的主要问题是您需要多长时间使用Cookie中的邮政编码。它会影响整个网站吗?还是只有一部分?
如果“面向ZIP的”内容仅用于一个部分(一个或多个,而不是整个应用程序),则请使用装饰器。它应该检查cookie,如果它不存在 - 重定向到ZIP选择表单。如果存在 - 继续处理您可以访问邮政编码并相应使用的视图。
如果邮政编码真的会影响您的大部分服务,并且您不想装饰每一个视图 - 您可以选择中间件。但是你是对的 - 它会在每个请求中被调用,所以确保它是绝对必要的。
回答:
如果你想避免重复,你需要编写一个中间件。如果每个页面都按照您的说法进行操作,并且邮政编码是使用该网站的先决条件,那么针对每个请求调用中间件process_request
并不一定是件坏事。
另一方面,这是必要的吗?无法将您的网址读取为:/blah/12345/videos/
?然后,您不必依赖cookie来创建书签,您的用户可以重新设置该页面。这也会否定你的写作观点。
以上是 我应该使用中间件还是为此写一个装饰器? 的全部内容, 来源链接: utcz.com/qa/265604.html