Должен ли я использовать Middleware или написать декоратор для этого? - PullRequest
2 голосов
/ 24 июня 2011

У меня есть ситуация, когда пользователю будет предложено ввести свой почтовый индекс, после чего он будет перенаправлен на сайт с содержанием, соответствующим введенному почтовому индексу. Будут категории и т. Д.Короче говоря, пользователь будет видеть контент, относящийся только к его области.

PLAN - я хочу сохранить их почтовый индекс в файле cookie и использовать его каждый раз, когда они возвращаются вНа сайте, конечно, если почтовый индекс отсутствует, их следует направить для ввода его в форму.Форма будет представлена ​​раньше, чем любой другой контент.

Мои вопросы: должен ли я использовать для этого декоратор и украсить виды специальным декоратором?Или стоит написать промежуточное ПО?если я напишу специальное промежуточное программное обеспечение для этого, если я буду использовать process_request process_view, мне кажется, что process_request вызывается при КАЖДОМ запросе, это может вызвать проблемы.

Спасибо!

JeffC

Ответы [ 2 ]

5 голосов
/ 24 июня 2011

Если вы хотите избежать повторения, вам нужно написать промежуточное программное обеспечение.Если он находится на КАЖДОЙ странице, как вы говорите, и почтовый индекс является обязательным условием для использования сайта, то наличие вызова промежуточного программного обеспечения process_request для каждого запроса не обязательно является плохой вещью.

С другой стороныэто необходимо?Неужели ваши URL-адреса просто не читаются как: /blah/12345/videos/?Тогда вместо того, чтобы полагаться на cookie для закладки, ваши пользователи могут просто вспомнить эту страницу.Это также сведет на нет необходимость в написании представления.

2 голосов
/ 25 июня 2011

Основной вопрос здесь заключается в том, как часто вам нужно будет использовать почтовый индекс из файла cookie.Повлияет ли это на весь сайт?Или только одна его часть?

Если «ZIP-ориентированный» контент будет использоваться только в одной части (одна или несколько, но не вся программа), тогда переходите к декоратору.Он должен проверить наличие куки, а если его нет - перенаправить на форму выбора ZIP.Если он присутствует - продолжите обработку представления, в котором вы сможете получить доступ к почтовому индексу и использовать его соответствующим образом.

Если почтовый код действительно повлияет на большинство ваших услуг, и вы не хотитеукрасить каждый вид - вы можете пойти на промежуточное программное обеспечение.Но вы правы - он будет вызываться при каждом запросе, поэтому будьте уверены, что это абсолютно необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...