我是django的新手,我无法显示postgres数据库中的数据,我的数据库中有以下数据,
产品数据表
1"测试" " images.jpg" 1
3"样本" " images.jpg" 2
我的代码是,
views.py
from django.shortcuts import render
from products.forms import productsform
from django.http import HttpResponseRedirect
from django.http import HttpResponse
from products.models import products
def productsview(request):
if request.method == 'POST':
form = productsform(request.POST)
if form.is_valid:
name = request.POST.get('name')
image = request.POST.get('image')
code = request.POST.get('code')
products_obj = products(name=name,image=image,code=code)
products_obj.save()
return HttpResponse("Register Successfull")
else:
form = productsform()
return render(request,'products/products_view.html',{'form':form,})
def display(request):
query_results = products.objects.all()
return render(request, 'products/myview.html')
urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.productsview, name='products'),
url(r'^display', views.display, name='display'),
]
models.py
from __future__ import unicode_literals
from django.db import models
class products(models.Model):
name = models.CharField(max_length=15,unique=True)
image = models.ImageField(upload_to = 'pictures')
code = models.IntegerField()
myview.html
<table>
<tr>
<th>Name</th>
<th>Code</th>
</tr>
{% for item in query_results %}
<tr>
<td>{{ item.name }}</td>
<td>{{ item.code }}</td>
</tr>
{% endfor %}
</table>
答案 0 :(得分:2)
您未将数据从display
功能发送到视图。
return render(request, 'products/myview.html', {'query_results': query_results})
答案 1 :(得分:2)
您忘记将模型传递给模板。在您views.py
文件中,执行以下操作:
def display(request):
query_results = products.objects.all()
return render(request, 'products/myview.html', {'query_results': query_results})