Словарь Python недоступен в шаблоне Django - PullRequest
2 голосов
/ 14 марта 2019

Я хочу получить доступ к значениям словаря с ключами, передаваемыми из представления в шаблон.Хотя после нескольких часов поисков и борьбы я все еще не могу предсказать причину.Ниже приведены фотографии.

метод post в views.py

    def post(self, request):
        value = request.POST['value']
        if value is '':
            return redirect('home')
        else:
            start_time = time.time()
            obj = CalcClass(value)
            result=obj.calculate()
            end_time = time.time() - start_time
            output={}
            output['result']=result
            output['end_time']=end_time

            return render(request, 'fibohome/home.html', output)

template home.html

<div class="col-sm-6 col-md-6">
            <div class="panel panel-default">
                <div class="panel-body">
                    {% if output %}
                        <h3>Output</h3>
                        <h4>{{ output.result }}</h4>


                        <h3>Time required</h3>
                        <h4>{{ output.end_time }}</h4>

                    {% else %}
                        <h3>None</h3>
                    {% endif %}
                </div>
            </div>

        </div>

интерфейс пользовательского интерфейса - после отправки с любым номером просто отображается None.Хотя я получаю вывод в консоли.enter image description here

Надеюсь, я предоставил достаточно информации.Спасибо!

1 Ответ

3 голосов
/ 15 марта 2019

Нет такой вещи как output в том, что вы передаете шаблону.output это просто имя, которое вы дали контекстному словарю.Шаблон получает содержимое этого словаря.Так что вы можете сделать, например, {{ result }} и {{ end_time }} напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...