Я пытаюсь создать приложение URL-alias, которое позволяет пользователю создавать псевдонимы для существующего url на своем веб-сайте.Django: создание/изменение объекта запроса
Я пытаюсь сделать это с помощью промежуточного слоя, где request.META['PATH_INFO']
проверяются с записями базы данных псевдонимов:
try:
src: request.META['PATH_INFO']
alias = Alias.objects.get(src=src)
view = get_view_for_this_path(request)
return view(request)
except Alias.DoesNotExist:
pass
return None
Однако, для этого, чтобы работать правильно это жизненная важность, что (по крайней мере) PATH_INFO изменяется на путь назначения.
Теперь есть некоторые фрагменты, которые позволяют разработчику создавать объекты запроса тестирования (http://djangosnippets.org/snippets/963/, http://djangosnippets.org/snippets/2231/), но они заявляют, что они предназначены для целей тестирования.
Конечно, это может быть так, что эти фрагменты подходят для использования в живой среде, но мои знания о обработке запросов Django слишком неразвиты, чтобы оценить это.
переадресовывает лучше не только потому, что они делают это легче поддерживать код, но и - они позволяют иметь уникальный URL для каждой страницы. Это, вероятно, лучше для вашего рейтинга поиска. – Evgeny
Можно ли это обойти, блокируя роботов от прямого доступа к псевдониму? –