Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 2 / 3
Регистрация: 20.12.2015
Сообщений: 339

Сериализация произвольных объектов

27.12.2022, 16:53. Показов 516. Ответов 5

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Изучаю python django. В одном задачи у меня выводится ошибка. не могу его устранить. Источник здесь.
Выводит следующую ошибку
Кликните здесь для просмотра всего текста

TypeError at /person/
js_person() takes 0 positional arguments but 1 was given
Request Method: GET
Request URL: http://127.0.0.1:8000/person/
Django Version: 4.0.8
Exception Type: TypeError
Exception Value:
js_person() takes 0 positional arguments but 1 was given
Exception Location: D:\Web\Python\Django\project\.venv\lib\s ite-packages\django\core\handlers\base.py, line 197, in _get_response
Python Executable: D:\Web\Python\Django\project\.venv\Scrip ts\python.exe
Python Version: 3.10.6
Python Path:
['D:\\Web\\Python\\Django\\project\\loker ',
'C:\\Users\\LoKeR\\AppData\\Local\\Progr ams\\Python\\Python310\\python310.zip',
'C:\\Users\\LoKeR\\AppData\\Local\\Progr ams\\Python\\Python310\\DLLs',
'C:\\Users\\LoKeR\\AppData\\Local\\Progr ams\\Python\\Python310\\lib',
'C:\\Users\\LoKeR\\AppData\\Local\\Progr ams\\Python\\Python310',
'D:\\Web\\Python\\Django\\project\\.venv ',
'D:\\Web\\Python\\Django\\project\\.venv \\lib\\site-packages']
Server time: Tue, 27 Dec 2022 13:42:21 +0000

вот код из views.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
def js_person():
    bob = Person("Bob", 41)
    return JsonResponse(bob, safe=False, encoder=PersonEncoder)
 
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
 
class PersonEncoder:
    def default(self, obj):
        if isinstance(obj, Person):
            return {"name":obj.name, "age":obj.age}
        return super().default(obj)
код urls.py
Python
1
path('person/', views.js_person, name='person')
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.12.2022, 16:53
Ответы с готовыми решениями:

Сериализация объектов
Всем добрый день\вечер. Подскажите пожалуйста как реализовать. Не получается. Задание: 1)Сделайте форму с двумя полями: x и y. Также...

Сериализация объектов
Здравствуйте! Помогите пожалуйста с кодом к этой задачи: Создать объект определенного класса соответственно варианту задачи....

Сериализация объектов
Создайте сериализируемый класс Subject (всё сделал) - String name; - int credits; (также сделал метод StringtoString - переопределил)...

5
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
27.12.2022, 17:11
Python
1
2
def js_person(request):
    ...
Наверное, так нужно
0
2 / 2 / 3
Регистрация: 20.12.2015
Сообщений: 339
28.12.2022, 20:10  [ТС]
dmittry, нет это не помогло. мне кажется что ругается на encoder
TypeError at /person/
PersonEncoder() takes no arguments
0
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
28.12.2022, 22:05
Umar Egamberdie, ну, судя по
Цитата Сообщение от Umar Egamberdie Посмотреть сообщение
js_person() takes 0 positional arguments but 1 was given
, кажется, что проблема была и менно в том, что вы во view не указали параметр request, который по дефолту поступает первым аргументом, когда вьюшка вызывается. Об этом и написано в ошибке, что принимает 0 аргументов, а передан 1 (это, полагаю, как раз и есть request).
Цитата Сообщение от Umar Egamberdie Посмотреть сообщение
TypeError at /person/
PersonEncoder() takes no arguments
Эта ошибка, как мне кажется, вызвана тем, что вы при инициализации объекта класса PersonEncoder передаете ему какие-то аргументы и из-за этого выбрасывается данное исключение.
1
96 / 64 / 34
Регистрация: 08.02.2021
Сообщений: 213
28.12.2022, 22:11
Я сразу не посмотрел на источник, который вы сбросили. Вы же вообще неправильно код скопировали оттуда.
Да, у вас ошибка в объявлении вьюшки (опять же, из-за параметра request). И класс PersonEncoder должен наследоваться от DjangoJSONEncoder, как минимум
Миниатюры
Сериализация произвольных объектов  
0
2 / 2 / 3
Регистрация: 20.12.2015
Сообщений: 339
29.12.2022, 11:35  [ТС]
dmittry, спасибо, решил проблему. Оказывается я не импортировал DjangoJSONEncoder проблема в нем было. А то что request сразу заметил после того как сюда написал. Просто тут код не исправил. Следующий раз буду более внимателень
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.12.2022, 11:35
Помогаю со студенческими работами здесь

Сериализация объектов
Приветствую всех! Помогите понять задачу, а именно третий пункт 1. Объявить в консольном приложении класс Book с полями: название,...

Сериализация объектов
Доброго времени суток!!! Помогите разобраться с сериализацией ((( есть класс using System; using...

Сериализация объектов в XML
Геометрическая фигура "Шайба" правильный шестиугольник, такой, что: a) его экземпляр содержит размер стороны a. b) его конструктор без...

Сериализация объектов JSON
Есть 4 класса(основные), и есть 4 класса, которые имеют список в котором хранятся объекты одного из основных классов. Именно эти списки я...

Сериализация графа объектов
Добрый день, форумчане! Существую следующий условный код: class Data { public A A { get; set; } } class A { ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru