【发布时间】:2019-04-26 11:31:14
【问题描述】:
我是 django 的初学者,我的问题是: 我的数据库中已有数据,但无法在模板上显示。
我多次尝试更改视图的功能和模板语言,但对我没有任何效果
在views.py中
def my_financial_data(request):
mydata = DataItem.objects.all()
print(mydata)
return render(request, 'home.html', {'mydata': mydata})
在models.py中
class DataItem(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, default='')
lastprice = models.CharField(max_length=100, default='')
sinceclose = models.CharField(max_length=100, default='')
sinceopen = models.CharField(max_length=100, default='')
isin = models.CharField(max_length=100, default='')
place = models.CharField(max_length=100, default='')
在我的模板中
<div>
<table class="table">
<thead class="bg-dark">
<tr>
<th class="text-light">Name</th>
<th class="text-light">Last Price</th>
<th class="text-light">Change since Close</th>
<th class="text-light">Change since Open</th>
<th class="text-light">Isin</th>
</tr>
</thead>
<tbody>
{% for item in mydata %}
<tr>
<td class="text-primary"> {{item.name}} </td>
<td class="text-dark"> {{ item.lastprice }} </td>
<td class="text-dark"> {{ item.sinceclose }} </td>
<td class="text-dark"> {{ item.sinceopen }} </td>
<td class="text-dark"> {{ item.isin }} </td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
在我的 urls.py 中
urlpatterns = [
path('', lambda request: redirect('accounts/login/', permanent=False)),
path('admin/', admin.site.urls),
path('accounts/', include('django.contrib.auth.urls')),
#path('blog/', financial_data_render),
path('blog/', TemplateView.as_view(template_name='home.html'), name='home'), # If the login is right, it's redirecting to home.html
path('blog', views.DataItem),
path('blog/add-isin/', views.add_row),
path('blog/add-place/', views.add_row),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) # for the static files
我想要的是,当我打开我的网站时,会显示保存的数据。
非常感谢您的帮助^^
【问题讨论】:
-
您好!
print语句的输出是什么? -
打开网站时会发生什么?模板是否被渲染?
-
您好,Al Amin,我看不到我的打印件。我可能很愚蠢,但我不知道在哪里可以查看此打印件
-
你好 Higor,当我打开我的网站时,什么都没有呈现...
-
你的网址是什么样子的?