Django - 根据请求路径创建if语句:不工作

时间:2016-12-13 19:59:04

标签: python django

我试图在我的视图中创建一个div,只有在两个单词“org'和'仪表板'在页面URL中。我已经在SO上查看了其他类似的问题,但他们的解决方案似乎对我不起作用。

我还尝试将短语org和dashboard放在引号内,这将实际显示页面上的div;但是,无论这些短语是否在页面URL中,它都将显示在页面上。

HTML:

{% if org and dashboard in request.path %}
    <div id='url-req-brn'>
      <div class='max margins'>
        <h4 id='url-req-brn-h4'>You must be logged in to view the requested page.<h4>
      </div>
    </div>
{% endif %}

由于

更新 目前的解决方案提供了我在HTML中所犯错误的清晰度,但是当我有一个包含&#39; org&#39;的URL时,div仍然没有显示。和&#39;仪表板&#39;。

我是否必须定义&#39; request.path&#39;在我的views.py文件中意味着什么?

2 个答案:

答案 0 :(得分:0)

{% if org and dashboard in request.path %}

表示评估为任何一个的if (org) and (dashboard in request.path) 如果org为空;如果anddashboard之内,则为request.path

你必须同时检查

{% if (org in request.path) and (dashboard in request.path) %}

当然,如果你想检查字符串"org"是否在request.path中,你应该用引号括起来。 {% if ('org' in request.path) and ('dashboard' in request.path) %}

答案 1 :(得分:0)

您必须引用orgdashboard作为字符串,然后分别测试其收容:

{% if 'org' in request.path and 'dashboard' in request.path %}

语法遵循普通Python的语法。

参考

Template complex expressions