我想直接在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表中脚本返回的值..
答案 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()
返回的值替换占位符。