ばかげたエラーのように見えますが、表示されません((テンプレートにmy_error値が表示されません。
これが私のviews.pyです
def tasks(request, my_error=''):
print my_error.encode('utf8')
user = request.user.username
try:
fio = Worker.objects.get(login=user)
except Worker.DoesNotExist:
fio = 'Нет такого пользователя'
if user not in admins:
tasks = Task.objects.filter(worker=fio)
else:
tasks = Task.objects.filter()
# here I can still see value of my_error
print my_error.encode('utf8')
return render_to_response('tasks.html',{'user':user,'fio':fio,'tasks':tasks, 'my_error':my_error})
私のテンプレート:
{% extends "base.html" %}
{% block title %}
Список тикетов
{% endblock %}
{% block style %}
<meta http-equiv="refresh" content="60">
{% endblock %}
{% block content %}
Привет, {{ fio.fio }}
<br />
{# {% if my_error %} #}
<h1>{{my_error}}</h1>
{# {% endif %} #}
<ol>
{% for task in tasks %}
<li><a href="../task/{{task.id}}">{{task.name}}<a></li>
{% endfor %}
</ol>
<a href="/new_ticket/">Добавить задачу</a> <br />
{% endblock %}
ここでは、my_errorを使用してtasks()を呼び出します。
tasks(request, my_error=u'Такой задачи нет. Возможно она была уже удалена')
しかし、私が使用する場合
return render_to_response('tasks.html',{'user':user,'fio':fio,'tasks':tasks, 'my_error':'my_error'})
私はhtmlで見る