Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 16.01.2019
Сообщений: 1

AttributeError: 'unicode' object has no attribute 'get'

16.01.2019, 19:58. Показов 7166. Ответов 5

Студворк — интернет-сервис помощи студентам
Учу django 1.1
Выдаёт ошибку AttributeError ... 'unicode' object has no attribute 'get'


views.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#-*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.http import HttpResponse, Http404, HttpResponseRedirect
from django.core.exceptions import ObjectDoesNotExist
 
from django.shortcuts import render_to_response, redirect
from models import News, Comments
from form import Commentform
from django.template.context_processors import csrf
import datetime
 
def main(request):
    return render_to_response('index.html')
def allarticles(request):
    return render_to_response('articl.html', {'article': News.objects.all().order_by('-news_time')[:15]})
def articles(request, id_num):
    com_form = Commentform
    args = {}
    args.update(csrf(request))
    args['articles'] = News.objects.get(id=id_num)
    args['comments'] = Comments.objects.filter(comments_News_id = id_num)
    args['form'] = com_form
    return render_to_response ('article.html', args)
def like(request, id_number):
    try:
        if request.session.[B]get[/B] ('id', False):
            redirect('/steal_site/allnews/')
        else:
            article = News.objects.get(id= id_number)
            article.news_sub +=1
            article.save()
            request.session['id'] = True
            return ('/steal_site/allnews/')
    except ObjectDoesNotExist:
        raise Http404
    return redirect ('/steal_site/allnews/')
def comment(request, id_num):
    if request.POST and ('pause' not in request.session):
        forms = Commentform(request.POST)
        if forms.is_valid():
            comment = forms.save(commit = False)
            comment.comments_News = News.objects.get(id = id_num )
            comment.save()
            request.session.set_expiry(60)
            request.session['pause'] = True
    a = '/steal_site/news/get/%s/' % id_num
    return redirect (a)
 
def contacts(request):
    return render_to_response('contacts.html')
def condition(request):
    return render_to_response('condition.html')
urls.py

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
from django.conf.urls import url, include
 
from steal_site.views import main, allarticles, articles, contacts, condition, like, comment
 
urlpatterns = [
    url(r'^$', main),
    url(r'^allnews/$', allarticles),
    url(r'^news/get/(?P<id_num>\d+)/$', articles),
    url(r'^news/like/(?P<id_number>\d+)/$', like),
    url(r'^news/com/(?P<id_num>\d+)/$', comment),
    url(r'^contacts/', contacts),
    url(r'^condition/', condition),
    
]
Сама ошибка:

Internal Server Error: /steal_site/news/like/14/
Traceback (most recent call last):
File "C:\Python27\tcl\lib\site-packages\django\core\handlers\exception. py", line 41, in inner
response = get_response(request)
File "C:\Python27\tcl\lib\site-packages\django\utils\deprecation.py", line 142, in __call__
response = self.process_response(request, response)
File "C:\Python27\tcl\lib\site-packages\django\middleware\clickjacking. py", line 32, in process_response
if response.get('X-Frame-Options') is not None:
AttributeError: 'unicode' object has no attribute 'get'
[16/Jan/2019 20:28:35] "GET /steal_site/news/like/14/ HTTP/1.1" 500 59023
Internal Server Error: /steal_site/news/like/14/
Traceback (most recent call last):
File "C:\Python27\tcl\lib\site-packages\django\core\handlers\exception. py", line 41, in inner
response = get_response(request)
File "C:\Python27\tcl\lib\site-packages\django\utils\deprecation.py", line 142, in __call__
response = self.process_response(request, response)
File "C:\Python27\tcl\lib\site-packages\django\middleware\clickjacking. py", line 32, in process_response
if response.get('X-Frame-Options') is not None:
AttributeError: 'unicode' object has no attribute 'get'
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.01.2019, 19:58
Ответы с готовыми решениями:

AttributeError: 'NoneType' object has no attribute
class Technic(models.Model): categories_list = ( (None, &quot;Выберите категорию&quot;), (&quot;tv&quot;, &quot;Телевизоры,...

AttributeError: 'DeferredAttribute' object has no attribute 'name' | Django
Это файл модели. class artsl(models.Model): obrs = models.CharField('Название', null=True, max_length=250) scores =...

AttributeError at /homepage/ 'tuple' object has no attribute 'split'
Создаю свой блок, столкнулся с ошибкой, какой день не могу её исправить. Сама ошибка: AttributeError at /homepage/ 'tuple' object has...

5
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
17.01.2019, 00:11
Цитата Сообщение от Sali342 Посмотреть сообщение
AttributeError: 'unicode' object has no attribute 'get'
У вас в коде где-то возвращается строка вместо объекта(например, HttpResponse). Где-то, это наверно, во вьюхах.

Цитата Сообщение от Sali342 Посмотреть сообщение
Учу django 1.1
Зачем учить древности мамонта? Джанго уже сто раз поменялся c версии 1.x. И всем туториалам по прежним версиям давно место в топке.
Читайте документацию по последней версии.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
17.01.2019, 05:12
django.contrib.sessions.middleware.Sessi onMiddleware в настройках подключено?

Добавлено через 2 минуты
Python
1
comment.comments_News = News.objects.get(id = id_num )
Можно упростить:
Python
1
comment.comments_News_id = id_num
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
18.01.2019, 22:26
Лучший ответ Сообщение было отмечено mik-a-el как решение

Решение

Python
1
render_to_response(<path_to_html_template>)
возвращает строку. надо либо
Python
1
HttpResponse(b'content', content_type, status)
либо
Python
1
render(request, 'path_to_html_template')
так или иначе, хотя в данном случае лучше render(), view должна возвращаеть объект HttpResponse.

Добавлено через 2 минуты
46-ая строка
Python
1
    a = '/steal_site/news/get/%s/' % id_num
более гибким вариантом будет назначение для url имени и редирект через reverse. тогда, если тебе понадобится поменять путь url, тебе не придется делать это дважды. и думать "а ничего ли я не забыл?"
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
19.01.2019, 06:48
Цитата Сообщение от Wi0M Посмотреть сообщение
либо
render(request, 'path_to_html_template')
В старой джанге функции render не было (появилась примерно в 1.4)
0
 Аватар для Wi0M
395 / 123 / 48
Регистрация: 26.10.2013
Сообщений: 734
23.01.2019, 11:47
Рыжий Лис, хорошо, что я привел несколько примеров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.01.2019, 11:47
Помогаю со студенческими работами здесь

Ошибка - AttributeError: 'function' object has no attribute 'as_view'
Друзья, помогите разобраться с ошибкой, что делаю не так? Класс для создания новой записи, при добавлении в файл urls выдает ошибку...

Ошибка AttributeError (object has no attribute)
Уважаемые форумчане, подскажите, пожалуйста, в чём суть такой ошибки. Уже второй день бьюсь. Вроде пишу всё правильно. models.py ...

AttributeError: 'WebDriver' object has no attribute 'find_element_by_name'
Всем привет. Такая проблема. Запускаю код, открывается браузер с нужной страницей и все... дальше программа выдает ошибку ...

AttributeError: 'function' object has no attribute 'randint'
У меня не работает модуль рандома Хостинг: pythonanywhere.com Скрин:

AttributeError: 'NoneType' object has no attribute 'text'
Вот отрывок из кода: for i in soup.find_all('div', class_ = 'info'): title_sxodim += i.find('a', class_ = 'title').text.strip() +...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru