0
在我小小的Django webapp中,我有4或5個views/pages。我在每個函數中添加了身份驗證,前綴爲@login_required()
。jinja var不會傳遞給模板
在所有頁面上,我可以用Jinja2顯示user.username
變量。
但是,只有在一個頁面上(displaystats.html),用戶變量找不到或空...
這是我的觀點:
@login_required()
def displaystats(request):
try:
listpackages = Packages.objects.all().order_by('-id')
except:
listpackages = None
try:
listprojects = Projects.objects.all()
except Projects.DoesNotExist:
listprojects = None
return render_to_response('displaystats.html', {'listpackages': listpackages})
模板很簡單: - displaystats。 HTML
<!DOCTYPE html>
<html>
<!-- Head -->
{% include 'head.html' %}
<body>
<!-- Navbar -->
{% with "Dynamic Packages Statistics" as namepage %}
{% include 'navbar.html' %}
{% endwith %}
...
...
navbar.html:
<!-- Navbar -->
<nav class="navbar navbar-default navbar-static-top" role="navigation">
<a class="navbar-brand" href="{% url 'webgui.views.homepage' %}"> MyAPP </a> <p class="navbar-text">{{ namepage }}</p>
{% if user %}
<p class="btn btn-default navbar-btn pull-right" style="margin-right:15px;"> Welcome, {{ user.username }} </p>
<a href="{% url 'logout' %}" class="btn btn-danger navbar-btn pull-right" style="margin-right:15px;"><span class="glyphicon glyphicon-log-out"> Logout </span></a>
{% else %}
<p class="btn navbar-btn pull-right" style="margin-right:15px;"> Welcome, you're unlogged </p>
{% endif %}
我想評論一些行(HTML,改變Jinja2的「如果」,......),但displaystats.html頁面不知道「用戶」變量,我不明白爲什麼。
哦,是的,它適用於'render'。並感謝您的解釋,這可能會有所幫助:) – Isador