Получить текущий URL в шаблоне Nunjucks?
Кажется, это должно быть довольно просто, но мне очень трудно найти ответ.
Как найти URL текущей страницы в шаблоне Nunjucks?
Примерно так было бы идеально:
<a href="{{ page.url }}">Some link</a>
3 ответа
Я считаю следующее полезным, если у вас есть загружаемый URL-адрес одной страницы. Если вы создаете свои проекты gulp nunjucks с помощью синхронизации браузера, вы можете построить отношения между ними, получив доступ к параметрам синхронизации браузера через обратный вызов. Затем передайте эти данные обратно в переменную окружения nunjucks.
Вот шаги
- создать пустую глобальную переменную
- функция обратного вызова пользователя browserync, чтобы получить параметр browsersync для URL-адресов
- передать это значение в пустую глобальную переменную на шаге 1
- теперь скажите nunjucks создать переменную окружения, которая ссылается на глобальную переменную из шага 1.
- построить проект.
- ссылайтесь на переменную окружения nunjucks в своем шаблоне.
Ниже приведена «идея» из вашего файла gulpfile.js, но она потребует настройки в зависимости от вашей настройки...
const browserSync = require('browser-sync');
//step 1
let mURL = '';
//...
//step 4...
const manageEnvironment = function (environment) {
environment.addGlobal('mURL', mURL);
}
function genNunJucks(cb) {
//...
.pipe(nunjucksRender({
manageEnv: manageEnvironment,
});
//...
}
//...
const msync = browserSync.create();
function bSync(cb) {
msync.init({
port: 49673,
ui: {
port: 3002,
},
listen: "gulp.wlc",
browser: "default",
},
//step 2...
callbacks: {
ready: function (err, bs) {
//step 3...
mURL = bs.options.getIn(['urls', 'local']);
}
}
});
//watch stuff...
}
//step 5
//npm start
//step 6...
/**
from witin your template, once the project is running,
you should have acces to {{mURL}},
and yes you can do <a href="{{ mURL }}">Some link</a>
all due to the help of browser-sync.
**/
зависит от атрибутов вашего объекта запроса, если это запрос wsgi от django, я просто печатаю его как {{request.build_absolute_uri}}
Попробуйте что-то вроде этого: {{ request.headers.referer }}
,
или это: {{ request.url }}
.