Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/351.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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 在我的列表中看不到我的帖子。html_Python_Django_Django Models_Django Templates_Django Views - Fatal编程技术网

Python 在我的列表中看不到我的帖子。html

Python 在我的列表中看不到我的帖子。html,python,django,django-models,django-templates,django-views,Python,Django,Django Models,Django Templates,Django Views,我创建了一个博客 这是我的models.py配置: from django.db import models from django.utils import timezone from django.contrib.auth.models import User from django.core.urlresolvers import reverse # Create your models here. class PublishedManager(models.Manager):

我创建了一个博客 这是我的models.py配置:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
# Create your models here.
class PublishedManager(models.Manager):

    def get_queryset(self):
        return super(PublishedManager, self).get_queryset()\
                .filter(status='published')
class post(models.Model):
    STATUS_CHOICE=(
        ('draft','DRAFT'),
        ('published','Published'),
        ('admin','admin'),
    )

    title=models.CharField(max_length=250,null=True)
    author=models.ForeignKey(User,related_name='blog_posts',null=True)
    slug=models.SlugField(max_length=250,unique_for_date='publish',null=True)
    body=models.TextField(default='')
    publish=models.DateTimeField(default=timezone.now)
    created = models.DateTimeField(auto_now_add=True,null=True)
    updated =models.DateTimeField(auto_now=True)
    status = models.CharField(max_length=10,
                            choices =STATUS_CHOICE,
                                default='draft')
    objects = models.Manager()
    published = PublishedManager()
    class Meta:
        ordering = ('-publish',)
    def __str__(self):
        return self.title
    def get_absolute_url(self):
        return reverse('blog:post_detail',args=[self.publish.year,
                                                self.publish.strftime('%m'),
                                                self.publish.strftime('%dz'),
                                                self.slug])
这是my views.py:

from django.shortcuts import render
from .models import post
# Create your views here.
def post_list(request):
    posts= post.published.all()
    return render(request,'blog/post/list.html',{posts:posts})

def post_detail(request,year,month,day,post):
    post=get_object_or_404(post,slug=post,
                                status = 'published',
                                publish__year=year,
                                publish__month=month,
                                publish__day=day)
    return render(request,'blog/post/index.html',{'post':post})
这是my base.html:

{%load staticfiles%}
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>{% block title %}
      <link rel="stylesheet" href={% static "/css/blog.css"%}>
      {% endblock %}
    </title>
  </head>
  <body>
<div id="content">
  {% block content %}
  {% endblock %}


</div>
<div id="sidebar">
  <h2>my blog</h2>
  <h3>this blog</h3>

</div>
  </body>
</html>
我已经使用admin user添加了一些post对象,但是当我尝试访问页面时,根据教程,预期的输出如下所示:

但我的结果是:
首先,上下文词典中的键应该是字符串
'posts'
,而不是@ABDUL在评论中指出的变量
posts

return render(request,'blog/post/list.html',{'posts':posts})
然后您需要修复
NoReverseMatch
错误。在
获取绝对url
方法中,您有
%dz
。它应该是
“%d”
。卸下
z

def get_absolute_url(self):
    return reverse('blog:post_detail',args=[self.publish.year,
                                            self.publish.strftime('%m'),
                                            self.publish.strftime('%d'),
                                            self.slug])

首先,上下文词典中的键应该是字符串
'posts'
,而不是@ABDUL在评论中指出的变量
posts

return render(request,'blog/post/list.html',{'posts':posts})
然后您需要修复
NoReverseMatch
错误。在
获取绝对url
方法中,您有
%dz
。它应该是
“%d”
。卸下
z

def get_absolute_url(self):
    return reverse('blog:post_detail',args=[self.publish.year,
                                            self.publish.strftime('%m'),
                                            self.publish.strftime('%d'),
                                            self.slug])

嗨,我不知道你的问题,但请检查out@mohammedqudah谢谢分享that@mounikesmintu你能试试这个
返回render(请求,'blog/post/list.html',{'posts':posts})
@ABDULNIYASPM这是我得到的错误:找不到带参数的'post_detail'(2017,'11','14z','12')的/blog/Reverse。尝试了1种模式:[“blog/(?P\\d{4})/(?P\\d{2})/(?P\\d{2})/(?P[-\\W]+)/$”]作为旁白,最好将您的模型命名为
Post
(大写
P
)。目前它与您的
post\u detail
方法中的
post
实例冲突。您好,我不知道您的问题,但请检查out@mohammedqudah谢谢分享that@mounikesmintu你能试试这个
返回render(请求,'blog/post/list.html',{'posts':posts})
@ABDULNIYASPM这是我得到的错误:找不到带参数的“post_detail”(2017,'11','14z','12')的/blog/Reverse处的NoReverseMatch。尝试了1种模式:[“blog/(?P\\d{4})/(?P\\d{2})/(?P\\d{2})/(?P[-\\W]+)/$”]作为旁白,最好将您的模型命名为
Post
(大写
P
)。此时,它与
post\u detail
方法中的
post
实例冲突。
def get_absolute_url(self):
    return reverse('blog:post_detail',args=[self.publish.year,
                                            self.publish.strftime('%m'),
                                            self.publish.strftime('%d'),
                                            self.slug])