Size: a a a

Django [ru] #STAY HOME

2019 May 06

AL

Alexander Lebedev in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
вот я как раз склонен именно так разбивать) потому что очень большой конфиг получается когда несколько десятков разных аппов подключены
по поводу отдельных настроек для приложений, пользовался такой вот штукой
https://django-appconf.readthedocs.io/en/stable/
источник

M

Mihail in Django [ru] #STAY HOME
Alexander Lebedev
за получение объекта там отвечает метод get_object
дк. а почему у DetailView вообще тогда присутствует get_queryset()? https://djbook.ru/rel1.9/ref/class-based-views/generic-display.html#detailview
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
то есть это может быть settings/common.py или settings/common/*.py, не важно
т.е. всё обще-проектное — в settings по окружениям, а специфика приложения — внутрь приложения через django-appconf
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Alexander Lebedev
по поводу отдельных настроек для приложений, пользовался такой вот штукой
https://django-appconf.readthedocs.io/en/stable/
я такое не использую потому что почему-то не люблю классы, я стараюсь поменьше их использовать) возможно, это личное)
источник

M

Mihail in Django [ru] #STAY HOME
Alexander Lebedev
за получение объекта там отвечает метод get_object
аа, я понял

This method is called by the default implementation of get_object() and
may not be called if get_object() is overridden.

т.е. get_object() перекрывает, если он есть...
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Mihail
аа, я понял

This method is called by the default implementation of get_object() and
may not be called if get_object() is overridden.

т.е. get_object() перекрывает, если он есть...
не совсем) get_object по-умолчанию использует get_queryset, но вы можете переопределить  get_object и не вызывать в нем get_queryset
источник

M

Mihail in Django [ru] #STAY HOME
Alexander Lebedev
не совсем) get_object по-умолчанию использует get_queryset, но вы можете переопределить  get_object и не вызывать в нем get_queryset
так какой объект вернёт джанга из переданного списка, после использования all()? Первый или последний?
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Mihail
так какой объект вернёт джанга из переданного списка, после использования all()? Первый или последний?
не понял вопроса: из какого списка? кто его передаст?
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Mihail
так какой объект вернёт джанга из переданного списка, после использования all()? Первый или последний?
all() вернёт все объекты, вернее нефильтрованный queryset
источник

M

Mihail in Django [ru] #STAY HOME
Alexander Lebedev
не понял вопроса: из какого списка? кто его передаст?
ну по умолчанию же .all() достаёт список всех объектов из базы данных. А DetailView необходим только лишь один объект из этой базы, чтобы передать его в контекст. Я правильно понимаю?
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Mihail
ну по умолчанию же .all() достаёт список всех объектов из базы данных. А DetailView необходим только лишь один объект из этой базы, чтобы передать его в контекст. Я правильно понимаю?
да. только вы постоянно упоминаете список, а all возвращает queryset; это разные типы объектов
источник

M

Mihail in Django [ru] #STAY HOME
Alexander Lebedev
да. только вы постоянно упоминаете список, а all возвращает queryset; это разные типы объектов
ок, какой объект из этого queryset будет возвращен?
источник

M

Mihail in Django [ru] #STAY HOME
в контекст
источник

PB

Petr B. in Django [ru] #STAY HOME
Alexander Lebedev
видел я проекты, где settings били по тематическому признаку: базы отдельно, статика отдельно и т.д. получалось под дюжину файлов, это уже борщ по мне, а по окружениям вроде бы норм. по крайней мере категорических противопоказаний не вижу
Я настройки батареек вынес в отдельные файлы в папочку mainapp/conf/
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Mihail
ок, какой объект из этого queryset будет возвращен?
для этого смотрим, например, сюда http://ccbv.co.uk/projects/Django/2.1/django.views.generic.detail/DetailView/#get_object

по-умолчанию, в ссылке ищется парамерт pk и передаётся в kwargs. по нему и будет поиск
источник

E

Egor in Django [ru] #STAY HOME
Нет, это же для шаблонов, а мне во вью надо
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Mihail
ок, какой объект из этого queryset будет возвращен?
т.е. в вашей ссылке должен содержаться какой-либо идентификатор объекта, по которому объект будет получен из queryset’a
источник

AM

Artem Malyshev in Django [ru] #STAY HOME
Egor
Нет, это же для шаблонов, а мне во вью надо
Там же тэги наверняка просто  функции вызываю
источник

E

Egor in Django [ru] #STAY HOME
Artem Malyshev
Там же тэги наверняка просто  функции вызываю
Все равно там нет того, что мне надо
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Petr B.
Я настройки батареек вынес в отдельные файлы в папочку mainapp/conf/
чем мне нравится appconf, он докидывает все настройки в django.conf.settings и нет нужды помнить откуда их импортировать, просто работаешь с ними как с обычными settings проекта
а так, да, как угодно можно, главное договориться
я люблю, когда надо помнить минимум специфики
источник