2017-02-22 12 views
1

Я новичок Джанго и я не могу иметь возможность отображать данные из базы данных 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})