2016-12-13 18 views
0

我試圖創建如果這兩個詞「組織」和「儀表盤」在頁面URL只應產生我的視野內一個div。我已經看過其他類似的問題,但他們的解決方案似乎不適合我。Django的 - 創建如果基於請求路徑聲明:不工作

我也試過把短語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犯的錯,但股利仍然沒有時,我有一個URL顯示包含'組織'和'儀表板'。

我是否必須在我的views.py文件中定義'request.path'的含義?

+0

'org'和'dashboard'都是字符串或變量? – ettanany

+0

@ettanany字符串 – jayt

+0

所以你應該把它們寫成'org'而不是'org'。 – ettanany

回答

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

if (org) and (dashboard in request.path)手段,其計算結果爲 如果org是空的或不是; and如果dashboardrequest.path或不。

你必須同時檢查

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

當然,如果你想檢查字符串"org"是Request的,你應該用引號括起來。 {% if ('org' in request.path) and ('dashboard' in request.path) %}

+0

模板使用Python的優先順序,因此語句被解釋爲'if(org)和(在request.path中的儀表板)',即如果'org'非空且'dashboard'在'request.path'中。 – knbk

+0

@knbk好的,我會補充一點 – RafaelC

0

你必須引用orgdashboard爲字符串,然後分別測試它們的包容:

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

語法遵循普通的Python的。


參考

Template complex expressions