0

ばかげたエラーのように見えますが、表示されません((テンプレートに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で見る

my_error

。どうしたの?

4

1 に答える 1

1
except Task.DoesNotExist:
    print 'here'
    tasks(request, my_error=u'Такой задачи нет. Возможно она была уже удалена')

する必要があります

except Task.DoesNotExist:
    print 'here'
    return tasks(request, my_error=u'Такой задачи нет. Возможно она была уже удалена')

ps:最初の投稿にコードの重要な部分を貼り付けて、コメントを掘り下げることなく、他の人がここで何が起こっているかを実際に知っている可能性があります(別名:tasks()が呼び出される場所に少しビューを貼り付けます)

于 2012-10-25T13:46:18.707 に答える