Часто возникает необходимость узнать, к примеру, текущий URL при отрисовке шаблона. Например, простейшая вещь - добавить на те или иные страницы сайта Facebook-овский лайк. Разработчики этой соц.сети предлагают нам следующий код для вставки:
Как видим, url статично. Вставляем код в шаблон и вместо url подставляем {{request.get_full_path}}. Отображаем обновленную страницу - результата пока нет. Дело в том, что мы забыли добавить в settings.py request-препроцессор контекста.
TEMPLATE_CONTEXT_PROCESSORS = (
#здесь перечислены какие-то другие процессоры
'django.core.context_processors.request',
#здесь перечислены какие-то другие процессоры
)
После этого при отображении страницы с вставленным кодом будет отображаться фейсбуковская лайк-кнопка. Отмечу, что в приведенном примере используется функция get_full_path, которая возвращает относительный url со всеми GET-параметрами запроса. Есть еще функция path - возвращает относительный url без имени домена и без GET-параметров . Узнать имя хоста / домен позволяет функция get_host. Таким образом, для получения полного абсолютного URL страницы в шаблоне необходимо добавить код:
{{request.get_host}} {{request.get_full_path}}
специально указывать слеш после хоста не нужно, так как *path - функции возвращают url уже с лидирующим слешем.
int main(){
printf("%s","Hello world");
}
Комментариев нет:
Отправить комментарий
Если Вы нашли ошибку у автора, у Вас есть вопрос или просто хотите поделиться чем-то полезным, то пишите - не стесняйтесь..