如何根据是否使用移动设备在Django模板中显示不同的HTML属性值?

时间:2019-03-03 20:56:05

标签: python django python-3.x templates

我正在使用Django和Python 3.7。我想根据是否满足特定条件(用户正在移动设备上查看页面)来更改模板中的href。如果用户使用的是常规设备,则网址为

{{ 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 :(得分:0)

乍看之下,我没有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);