如何修复“布尔”对象没有属性“获取”

时间:2019-05-28 12:45:58

标签: python django

使用django框架工作对python来说是新手,并且正在开发三篇文章

我尝试调试,但是失败了,我收到此错误“布尔对象没有属性'get'

这是我的模型。py

 from django.db import models

# Create your models here.
class Article(models.Model):# this new class articles inherits properties from models.model
    """docstring for Article"""
    title = models.CharField(max_length=255)
    body = models.TextField(max_length=255)
    pub_date = models.DateTimeField( 'date published')
    likes = models.IntegerField()

    def __unicode__(self):
                    return self.get

在我的网址中

from django.conf.urls import include, url
from article.views import article
#from django.shortcuts import redirect

urlpatterns =[
    url(r'^all/$', all, name='all'),
    url(r'^get/ (?P<article_id>\d+)/$', article, name='article'),
    ]

我希望有一份文章列表,当我单击指向另一个页面的文章时

但是我得到了这样的错误

  

系统检查未发现问题(0静音)。
  2019年5月28日-15:38:06
  Django版本2.2.1,使用设置'finalreading.settings'
  在http://127.0.0.1:8000/上启动开发服务器
  使用CTRL-BREAK退出服务器。
  内部服务器错误:/ articles / all /
  追溯(最近一次通话):
    内部文件“ C:\ code \ lib \ site-packages \ django \ core \ handlers \ exception.py”,第34行,
      响应= get_response(请求)
    调用
中的文件“ C:\ code \ lib \ site-packages \ django \ utils \ deprecation.py”,第96行       响应= self.process_response(请求,响应)
    在process_response中的文件“ C:\ code \ lib \ site-packages \ django \ middleware \ clickjacking.py”,第26行,
      如果response.get('X-Frame-Options')不是None:
  AttributeError:'bool'对象没有属性'get'
  [28 / May / 2019 15:38:15]“获取/ articles / all / HTTP / 1.1” 500 57684

请帮忙,因为我需要快速学习并参与即将到来的项目。

1 个答案:

答案 0 :(得分:2)

不要调用视图all,因为它是python中的保留函数,无论列表的所有元素是否为True,它都会返回布尔值。您的urls.py包含以下行:

url(r'^all/$', all, name='all'),

但是您没有导入all,因此它永远不会打到您的视图all,而是调用python all()。但是同样,您应该将其重命名为article_list或类似的名称,然后导入(并在urls.py中使用)。