2017-02-22 92 views
1

我是新来的Django,我可以不能够显示从Postgres数据库,我有以下我的数据库中的数据的数据,在产品表无法在Django 1.10中显示来自数据库的数据?

数据

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> 

回答

2

你不是将数据发送到从display功能的看法。

return render(request, 'products/myview.html', {'query_results': query_results}) 
2

你忘了模型传递到模板。在views.py你的文件,执行以下操作:

def display(request): 
    query_results = products.objects.all() 
    return render(request, 'products/myview.html', {'query_results': query_results})