我希望Django(v 1.6)根據加載頁面的用戶加載不同的樣式表。我已經試過這樣的事情沒有成功:根據用戶在Django模板中選擇不同的樣式表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Title.</title>
{ % if "{{user.get_username}}" == "user1" %}
<link href="{% static 'myapp/css/user1_stle.css' %}" rel="stylesheet" media="screen">
{ % endif %}
<head>
...
Django的呈現源:
<title>Title.</title>
{ % if "user1" == "user1" %}
<link href="/myapp/css/user1_stle.css" rel="stylesheet" media="screen">
{ % endif %}
所以它加載樣式表而不是基於用戶名,如果我可以看到「{%。 ..「 部分。我認爲問題很明顯,但我看不到它。
是否有其他方式爲每個用戶加載不同的樣式表?當我使用擴展時,解決方案也必須工作。
編輯:修正了空間問題,但我仍然沒有得到預期的行爲。這似乎是字符串未正確進行比較(ifequal不工作既不) 現在我做:
{% if "{{user.username}}" == "user1" %}
<script> alert("{{user.username}}");</script>
{% else %}
<script> alert("{{user.get_username}}" + " different");</script>
{% endif %}
,輸出是一個警告說USER1不同。 (與get_username和ifequal結果相同)
最後:刪除「{{}}」並開始工作。
你也可以使用內建的「ifequal」和「ifnotequal」標記來比較 – 2015-03-25 11:28:54
明白了。它的工作,謝謝 – 2015-03-25 11:50:41