2017-02-22 208 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}) 
相關問題