如何将字符串值插入html表?

时间:2016-01-05 17:59:48

标签: python html django

我想直接在html表中插入一个值。可能吗? 我在Django尝试这个。只是一个基本的尝试。

这是我的观点文件的代码:

from django.shortcuts import render
from django.http import HttpResponse
from scripts.stock import run


def index(request): 
  now=run() 
  html = '''<head>
   <title>Stock Forecasting</title>
   </head>
   <body style="background-color:lightgrey;">

   <h1 style="color:blue;text-align:center;">Stock Forecasting</h1>
   <p>(Paragraph)</p>
   <style>
     table, th, td {
       border: 1px solid black;
       border-collapse: collapse;
       }
      th, td {
       padding: 5px;
       }
      th {
       text-align: left;
       }
   </style>
   <table style="width:20%">
   <caption><b>Stock Data</b></caption>  
   <tr>
   <th>Company</th>
   <th>Price</th>
   <th>Open</th>
   <th>Previous close</th>   
   <th>Low</th> 

   </tr>
   <tr>
   <td>Yahoo</td>
   <td>%s</td>
   <td>%s</td>
   <td>%s</td>
   <td>%s</td>
   </tr>

  </tr>
</table> 

<br><br>

</body>

'''


return HttpResponse(html)

这是我的脚本代码:

from yahoo_finance import Share
from pprint import pprint
import threading 
def run():
    yahoo = Share('YHOO')
    file = open("scripts/newfile.csv", "w")
    file.write("High,Open,Prv Close,Low\n")
    a= yahoo.get_days_high()
    b= yahoo.get_open()
    c= yahoo.get_prev_close()
    d= yahoo.get_days_low()
    file.write(a+",")
    file.write(b+",")
    file.write(c+",")
    file.write(d+",")
    return (a,b,c,d)
    threading.Timer(5.0, run).start()

我想要的是插入从html表中脚本返回的值..

3 个答案:

答案 0 :(得分:0)

您似乎在寻找Django Templates

答案 1 :(得分:0)

您必须引用您拥有%s的数据的索引:

{{ now[0] }} #  a

{{ now[1] }} #  b

{{ now[2] }} #  c

{{ now[3] }} #  d

最好将html放在模板中并迭代:

{% for x in now %}

    <td>{{ x }}</td>

答案 2 :(得分:0)

您的问题与Django无关。使用%s很简单Python 2 string formatting。所以

html = '''<head>
   <title>Stock Forecasting</title>
   ...
   </body>''' % now

会使用run()返回的值替换占位符。