Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django objects.all()不显示任何内容_Python_Django_Python 3.x_Django Models_Django Views - Fatal编程技术网

Python Django objects.all()不显示任何内容

Python Django objects.all()不显示任何内容,python,django,python-3.x,django-models,django-views,Python,Django,Python 3.x,Django Models,Django Views,大家好! 我只是开始一种django编程的方式,所以有时候真的会感到困惑 我试图显示数据库中的所有对象,但打开页面时,它只是空的 有添加的内容,我以前尝试过ListView,它对我有效。但是现在我需要像网格一样分解对象,这个方法有一个问题 非常感谢您的帮助 型号.py from django.db import models class Post(models.Model): title = models.CharField(max_length=140) body = mo

大家好! 我只是开始一种django编程的方式,所以有时候真的会感到困惑

我试图显示数据库中的所有对象,但打开页面时,它只是空的

有添加的内容,我以前尝试过ListView,它对我有效。但是现在我需要像网格一样分解对象,这个方法有一个问题

非常感谢您的帮助

型号.py

from django.db import models


class Post(models.Model):
    title = models.CharField(max_length=140)
    body = models.TextField()
    date = models.DateField()
    image = models.ImageField(upload_to='bons_images/%Y/%m/%d')

    def __str__(self):
        return self.title
from django.shortcuts import render, render_to_response
from django.template import RequestContext
from django.views import generic

from blog.models import Post


def image(request):
    post = Post()
    variables = RequestContext(request, {
        'post': post
    })
    return render_to_response('blog/post.html', variables)


# class IndexView(generic.ListView):
#     template_name = 'blog/blog.html'
#     context_object_name = 'all_posts'
#
#     def get_queryset(self):
#         return Post.objects.all()

def index(request):
    posts = Post.objects.all()
    return render(request, 'blog/blog.html', {'posts': posts})
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from blog.models import Post
from blog import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<pk>\d+)$', DetailView.as_view(model=Post, template_name='blog/post.html')),
]
视图.py

from django.db import models


class Post(models.Model):
    title = models.CharField(max_length=140)
    body = models.TextField()
    date = models.DateField()
    image = models.ImageField(upload_to='bons_images/%Y/%m/%d')

    def __str__(self):
        return self.title
from django.shortcuts import render, render_to_response
from django.template import RequestContext
from django.views import generic

from blog.models import Post


def image(request):
    post = Post()
    variables = RequestContext(request, {
        'post': post
    })
    return render_to_response('blog/post.html', variables)


# class IndexView(generic.ListView):
#     template_name = 'blog/blog.html'
#     context_object_name = 'all_posts'
#
#     def get_queryset(self):
#         return Post.objects.all()

def index(request):
    posts = Post.objects.all()
    return render(request, 'blog/blog.html', {'posts': posts})
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from blog.models import Post
from blog import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<pk>\d+)$', DetailView.as_view(model=Post, template_name='blog/post.html')),
]
url.py

from django.db import models


class Post(models.Model):
    title = models.CharField(max_length=140)
    body = models.TextField()
    date = models.DateField()
    image = models.ImageField(upload_to='bons_images/%Y/%m/%d')

    def __str__(self):
        return self.title
from django.shortcuts import render, render_to_response
from django.template import RequestContext
from django.views import generic

from blog.models import Post


def image(request):
    post = Post()
    variables = RequestContext(request, {
        'post': post
    })
    return render_to_response('blog/post.html', variables)


# class IndexView(generic.ListView):
#     template_name = 'blog/blog.html'
#     context_object_name = 'all_posts'
#
#     def get_queryset(self):
#         return Post.objects.all()

def index(request):
    posts = Post.objects.all()
    return render(request, 'blog/blog.html', {'posts': posts})
from django.conf.urls import url, include
from django.views.generic import ListView, DetailView
from blog.models import Post
from blog import views

urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<pk>\d+)$', DetailView.as_view(model=Post, template_name='blog/post.html')),
]
从django.conf.url导入url,包括
从django.views.generic导入ListView,DetailView
从blog.models导入帖子
从博客导入视图
URL模式=[
url(r'^$',views.index,name='index'),
url(r'^(?P\d+$),DetailView.as_view(model=Post,template_name='blog/Post.html'),
]
blog.html

{% extends 'base.html' %}

{% block content %}

    {% if all_posts %}
        {% for post in all_posts %}
            <div class="container-fluid">
                <div class="row">
                    <div class="col-sm-3 col-lg-4">
                        <div class="thumbnail">
                            <a href="/blog/{{ post.id }}">
                                <h5>{{ post.date|date:'Y-m-d' }} {{ post.title }}</h5>
                                <img src="{{ post.image.url }}" style="width: 50%; height: 50%"/>
                            </a>
                        </div>
                    </div>
                </div>
            </div>
        {% endfor %}
    {% endif %}
{% endblock %}
{%extends'base.html%}
{%block content%}
{%if所有_帖子%}
{所有_posts%}
{%endfor%}
{%endif%}
{%endblock%}
顺便说一句,如何显示你的对象,比如网格,而不是列表,使用引导等等


谢谢大家!

您正在迭代模板中名为
的所有帖子。但是您的视图不会发送任何名为
all_post
;它只发送
帖子
。您需要使用一致的名称。

ohhh。。。这是ListView的一个变量,我太不注意了,谢谢你的朋友!顺便问一下,你知道如何实现我的对象在网格中的样子吗?我不知道网格是什么意思,但如果你想的话,你可以在HTML中使用表标记。我的意思是,我需要在一行中动态显示几个对象。目前,在我的模板中,它们是按顺序一个接一个地列出的。您可能应该问一个新问题,并举例说明所需的输出。