Size: a a a

Django [ru] #STAY HOME

2019 August 16

DT

Dan Tyan in Django [ru] #STAY HOME
что импортируется  ?
источник

AD

Alex Dem in Django [ru] #STAY HOME
Dan Tyan
что импортируется  ?
from Environ import set_django_environ
set_django_environ()
from Reports.views import GroupReportTable
from conf.models import FasMonitorTicket, mate_conn
from conf.settings import TIME_ZONE, BASE_URL
from django.template.loader import render_to_string
from django.contrib.postgres.aggregates import ArrayAgg
from django.urls import reverse
from psycopg2.extras import NamedTupleCursor
источник

AD

Alex Dem in Django [ru] #STAY HOME
Dan Tyan
что импортируется  ?
фишка заключается в том, что нет нормальной отладки
приходится "тыкать пальцем в небо", я не знаю как еще с этим быть кроме как лезть в джанговские скрипты (но это пзц, простите)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Alex Dem
from Environ import set_django_environ
set_django_environ()
from Reports.views import GroupReportTable
from conf.models import FasMonitorTicket, mate_conn
from conf.settings import TIME_ZONE, BASE_URL
from django.template.loader import render_to_string
from django.contrib.postgres.aggregates import ArrayAgg
from django.urls import reverse
from psycopg2.extras import NamedTupleCursor
django.setup()
на каком этапе выполянется ?
источник

i

ilya in Django [ru] #STAY HOME
Alex Dem
Подскажите пожалуйста

Есть каталог с standalone скриптами
Эти скрипты при этом юзают общий env  проекта (например, модели)
Окружение импортится через фукнцию

def set_django_environ():
   dirname = os.path.split(os.path.abspath(file))[0]
   sys.path.append(dirname.rsplit('/', 1)[0])
   os.environ.setdefault("DJANGO_SETTINGS_MODULE", "conf.settings")
   django.setup()

Один из скриптов в каталоге валит работу этой функции

 File "/home/alexd/Djinkerton/pinkerton/Services/FasMonitor.py", line 2, in <module>
   set_django_environ()
 File "/home/alexd/Djinkerton/pinkerton/Services/Environ.py", line 8, in set_django_environ
   django.setup()
 File "/home/alexd/Djinkerton/pinkerton/env/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
   apps.populate(settings.INSTALLED_APPS)
 File "/home/alexd/Djinkerton/pinkerton/env/lib/python3.6/site-packages/django/apps/registry.py", line 81, in populate
   raise RuntimeError("populate() isn't reentrant")
RuntimeError: populate() isn't reentrant

как это возможно отдебажить?
Скрипт синтаксически чист
Импорты в нем вроде бы тоже рабочие

Я потерял уже всякую надежду
а другие скрипты точно так же импортят окружение и в них всё норм?
источник

AD

Alex Dem in Django [ru] #STAY HOME
ilya
а другие скрипты точно так же импортят окружение и в них всё норм?
если присуствует этот "проблемный" скрипт - не работают все
если его убрать - все везде работает
а почему он "проблемный" хрен проссышь
источник

AD

Alex Dem in Django [ru] #STAY HOME
Dan Tyan
django.setup()
на каком этапе выполянется ?
это вторая строка всех скриптов в этом каталоге
источник

i

ilya in Django [ru] #STAY HOME
Alex Dem
если присуствует этот "проблемный" скрипт - не работают все
если его убрать - все везде работает
а почему он "проблемный" хрен проссышь
я не о том, другие скрипты тоже импорят окружение таким же способом?
источник

AD

Alex Dem in Django [ru] #STAY HOME
да, все верно
источник

AD

Alex Dem in Django [ru] #STAY HOME
Опытным путем было выявлено, что это было пересечение имен
источник

AD

Alex Dem in Django [ru] #STAY HOME
сука
источник

AD

Alex Dem in Django [ru] #STAY HOME
3 часа ебусь
источник

AD

Alex Dem in Django [ru] #STAY HOME
этот скрипт назывался также как и одно из приложений в installed apps
источник

RT

Roman Tsiplenkov in Django [ru] #STAY HOME
Кто может подсказать со след проблемой:
 mezzanine+django+guinicorn(systemd) запущенный от юзера с shell /bin/false в debian ругается на кодировку ( sys.getfilesystemencoding() ascii ).
localectl стоит utf-8,
locale.conf стоит utf-8
в systemd-сервисе тоже поставил перменную LC_ALL=en_US.UTF-8.
Но питон все равно откуда-то вытаскивает ascii
(mezzanine льёт демо-фотки с именами не в латинице)
источник

RT

Roman Tsiplenkov in Django [ru] #STAY HOME
источник

i

ilya in Django [ru] #STAY HOME
Alex Dem
этот скрипт назывался также как и одно из приложений в installed apps
"Ha ha, classic" )))
источник

AD

Alex Dem in Django [ru] #STAY HOME
В любом случае, всем огромное спасибо и хороших выходных!
источник

PZ

Pavel Zagrebelin in Django [ru] #STAY HOME
Mihail
а в каких случаях данный объект всё таки приходит? Мне что-то не удалось такой отловить
КОгда открывается форма редактирования, то там проверяется, если мне память не изменяет
источник

M

Mihail in Django [ru] #STAY HOME
Pavel Zagrebelin
КОгда открывается форма редактирования, то там проверяется, если мне память не изменяет
чета нет
источник

M

Mihail in Django [ru] #STAY HOME
Pavel Zagrebelin
КОгда открывается форма редактирования, то там проверяется, если мне память не изменяет
это самый очевидный сценарий. Я тоже сначала так думал
источник