Запуск функции в файле шаблона (Python / Bottle) - PullRequest
0 голосов
/ 04 декабря 2018

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

<%
import statistics, numpy

medianStockReturn = []

def stockReturn():
    global medianStockReturn
    yearStockReturn = numpy.random.normal(11.4, 19.7, 1000)
    yearMedianStockReturn = statistics.median(yearStockReturn)
    yearMedianStockReturn = yearMedianStockReturn / 100 + 1
    medianStockReturn.append(yearMedianStockReturn)
stockReturn()
end
%>

<!DOCTYPE html>
<html lang = "en-us">
    <head>
        <title>Retirement Calculator</title>
        <meta charset = "utf-8">
        <link rel="stylesheet" type="text/css" href="../static/retirementStyle.css">
   </head>
   <body>
       <h2> this is a test; your stock return is {{medianStockReturn}}</h2>
   </body>
</html>

Однако этот код приводит к выводу: «это тест; ваш запас возврата равен []»

Как написано, функцияследует добавить medianStockReturn сгенерированным значением, но это не так, и я не совсем уверен, почему.

1 Ответ

0 голосов
/ 04 декабря 2018

Вам нужно переместить end после окончания определения функции выше stockReturn()

<%
import statistics, numpy

medianStockReturn = []

def stockReturn():
    global medianStockReturn
    yearStockReturn = numpy.random.normal(11.4, 19.7, 1000)
    yearMedianStockReturn = statistics.median(yearStockReturn)
    yearMedianStockReturn = yearMedianStockReturn / 100 + 1
    medianStockReturn.append(yearMedianStockReturn)
end
stockReturn()
%>

<!DOCTYPE html>
<html lang = "en-us">
    <head>
        <title>Retirement Calculator</title>
        <meta charset = "utf-8">
        <link rel="stylesheet" type="text/css" href="../static/retirementStyle.css">
   </head>
   <body>
       <h2> this is a test; your stock return is {{medianStockReturn}}</h2>
   </body>
</html>
...