Как исправить объект 'bool' не имеет атрибута 'get' - PullRequest
0 голосов
/ 28 мая 2019

я новичок в python с фреймворком django и разрабатываю три статьи

Я попытался отладить, но мне не удалось, и я получаю эту ошибку "У объекта bool нет атрибута" get "

это мои models.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

и в моих URL-адресах у меня есть

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 отключено).
28 мая 2019 - 15: 38: 06
Django версия 2.2.1, используя настройки 'finalreading.settings'
Запуск сервера разработки на http://127.0.0.1:8000/
Выйдите из сервера с помощью CTRL-BREAK.
Внутренняя ошибка сервера: / article / all /
Traceback (последний вызов был последним):
Файл "C: \ code \ lib \ site-packages \ django \ core \ handlers \ exception.py", строка 34, во внутреннем
response = get_response (запрос)
Файл "C: \ code \ lib \ site-packages \ django \ utils \ deprecation.py", строка 96, в вызов
response = self.process_response (запрос, ответ)
Файл "C: \ code \ lib \ site-packages \ django \ middleware \ clickjacking.py", строка 26, в process_response
если response.get ('X-Frame-Options') не является None:
AttributeError: объект 'bool' не имеет атрибута 'get'
[28 мая / 2019 15:38:15] "GET / Articles / All / HTTP / 1.1" 500 57684

, пожалуйста, помогите, потому что мне нужно быстро учиться и работать над будущими проектами.

1 Ответ

2 голосов
/ 28 мая 2019

Не вызывайте ваше представление all, потому что в python это зарезервированная функция, которая возвращает логическое значение, независимо от того, являются ли все элементы списка True или нет.Ваш urls.py содержит эту строку:

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

, но вы не импортируете all, поэтому он никогда не затрагивает ваше представление all, а вызывает Python all().Но опять же, вы должны переименовать его в article_list или что-то в этом роде и импортировать его (и использовать это в urls.py).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...