Как отобразить другое значение атрибута HTML в шаблоне Django в зависимости от того, используется ли мобильное устройство? - PullRequest
0 голосов
/ 03 марта 2019

Я использую Django и Python 3.7.Я хочу изменить href в шаблоне в зависимости от того, выполняется ли определенное условие (пользователь просматривает страницу на мобильном устройстве).Если пользователь использует обычное устройство, URL-адрес будет

{{ articlestat.article.path }}

В противном случае путь будет выше, за исключением «www.»заменен на «мобильный».Какой правильный способ сделать это?У меня есть следующее

{% if request.user_agent.is_mobile %}
             <td align="center"><a href="{{ articlestat.article.path }}" target="_blank">Read Article</a></td>
{% else %} 
             <td align="center"><a href="{{ articlestat.article.mobile_path }}" target="_blank">Read Article</a></td> 
{% endif %}

, но оно кажется немного длинным, и я думаю, что в Django есть более лаконичный способ написать все вышеперечисленное.

1 Ответ

0 голосов
/ 04 марта 2019

У меня нет Django способа сделать это на первый взгляд, но у меня есть быстрое Javascript решение, которое вы можете иметь гораздо больше.

function redirect(btn, url) {
    btn.on('click', function () {
      window.location.href = url; // A string
    })
}

var btn = <your btn>; // Use JQuery to get element as an ID
var url = <redirect url>;
redirect(btn, url);
...