@pydjango

Страница 1178 из 1273
Dmitry
15.04.2018
16:06:52
Нет, у меня немного другая ситуация. Приличных размеров приложение rails. Мне нужно из него дёргать таски selery. Думаю, что самый convient путь это что-то пушить в rabbitmq, а дальше selery подхватит и выполнит. Реален такой сценарий?

Наверное будет проще просто слушать редис из питона

Dan
15.04.2018
16:09:38
Я немного не понял как тут задействована джанга

Dmitry
15.04.2018
16:10:29
джангисты не работают с celery, rabbitmq и redis? ?

Google
Dan
15.04.2018
16:10:47
Джангисты работают

Просто учитывая тематику чата предлагаются решения исходя из того что таки используется джанга

amureki
15.04.2018
16:41:16
Если не ошибаюсь, такое возможно, но не знаю деталей, стоит погуглить

Alex
15.04.2018
16:49:11
Может кто объяснить как запрос может пролетать 1 path и падать во второй? path('application?limit=<int:limit>&page=<int:page>' => path('application' непосредственно сам запрос: http://127.0.0.1:8002/application?limit=2&page=1

Dmytro
15.04.2018
16:50:37
Параметры гет-запроса не указываются в паттернах урлов.

Указывайте корень и ветку, например, api/v1/users/dmytro.

Я все переданные гет-параметры в request.GET ловите.

Alex
15.04.2018
16:51:43
понял, я уже обратил внимание что в доке по джанге как-то нет параметров в path

спасибо

Set
15.04.2018
17:23:04
SmallIntegerField можно ли задать max_length?

Senpos
15.04.2018
17:24:38
SmallIntegerField можно ли задать max_length?
Ему можно задать все то же, что и Integer "Длина" как таковая не особо применительная к числам

Если нужно ограничить максимальное число для Integer - смотри сюда https://docs.djangoproject.com/en/2.0/ref/validators/#maxvaluevalidator

Google
Crippling
15.04.2018
17:28:01
в двух словах, зачем нужен django rest framework и можно ли обойтись без него если делаешь какой-то интерфейс?

Ahmed
15.04.2018
17:34:41
Гайс, кто-нибудь клал csv файл в модель где есть поле File?)

Alex
15.04.2018
17:34:45
в двух словах, зачем нужен django rest framework и можно ли обойтись без него если делаешь какой-то интерфейс?
DRF нужен для создания REST сервисов, обойтись без него можно, но зачем жизнь усложнять

Dmitry
15.04.2018
18:13:56
Если не ошибаюсь, такое возможно, но не знаю деталей, стоит погуглить
Да, именно так. Но я наверное как-то не так гуглю и не могу найти.

amureki
15.04.2018
18:22:41
Да, именно так. Но я наверное как-то не так гуглю и не могу найти.
По идее, просто смотри тут протокол, составляй с помощью чего ты там работаешь таск и кидай в реббит http://docs.celeryproject.org/en/latest/internals/protocol.html

malcev
15.04.2018
19:20:06


хочу проверить переменные на None

Oleksandr
15.04.2018
19:31:27
is None

Ahmed
15.04.2018
19:35:13
Ребята, в поле FileField в каком формате можно класть данные? Пытаюсь положить csv файл, выдает AttributeError: '_csv.writer' object has no attribute '_committed'

Senpos
15.04.2018
19:43:51
https://hastebin.com/afunosefap.py
А если f класть? В него то уже записаны данные Зачем writer то

amureki
15.04.2018
19:44:49
https://hastebin.com/afunosefap.py
Это неправильно, writer - это не файл Посмотри пример: https://stackoverflow.com/questions/3501588/how-to-assign-a-local-file-to-the-filefield-in-django

Ahmed
15.04.2018
19:45:08
А если f класть? В него то уже записаны данные Зачем writer то
Если f класть то будет такая ошибка AttributeError: '_io.TextIOWrapper' object has no attribute '_committed'

Это неправильно, writer - это не файл Посмотри пример: https://stackoverflow.com/questions/3501588/how-to-assign-a-local-file-to-the-filefield-in-django
Такой пример не работает. report_data = ReportData() report_data.save('new', File(writer)) Запись создается в бд, но без файла

Ahmed
15.04.2018
20:04:30
забыл указать поле куда буду сохранять

Что ему не нравится? https://hastebin.com/evasapuheb.py Ведь with закрывает же файл не? ValueError: I/O operation on closed file.

Max
15.04.2018
20:08:31
ну так пишет же

Google
Max
15.04.2018
20:08:38
ЗАКРЫТ

Dmitriy
15.04.2018
20:08:41
Ну у тебя после with контекст поменялся, а ты обращаешься к f.

Max
15.04.2018
20:08:44
а ты с ним что-то делать пытаешься

Ahmed
15.04.2018
20:09:01
шет)

Max
15.04.2018
20:09:30
а тебе сам файл нужен то? StringIO какой не подойдет?

если сразу отдаешь его

Max
15.04.2018
20:10:21
ок)

Ahmed
15.04.2018
20:12:10
Блэд и что теперь делать)

amureki
15.04.2018
20:14:07
Блэд и что теперь делать)
Ты 1. открыл файл 2. пописал туда всякого 3. закрыл файл 4. пытаешь сохранить его в джангу, джанга просит открытый файл

Как насчет последний пункт передвинуть чуть повыше, пока файл открыт?

Ahmed
15.04.2018
20:14:36
4 пункт разве это разумно?

Как насчет последний пункт передвинуть чуть повыше, пока файл открыт?
Я вроде так сделал with open(file_name, 'w') as f: writer = csv.writer(f) writer.writerow(['user', 'ticket', 'seconds']) users = UserTicket.objects.filter().values_list('user', 'ticket', 'seconds') for user in users: writer.writerow(user) report_data = ReportData(server='Test') report_data.file.save('new', File(f))

Max
15.04.2018
20:15:23
Как насчет последний пункт передвинуть чуть повыше, пока файл открыт?
как насчет того чтобы указатель сдвинуть прежде чем пытаться прочитать? )

amureki
15.04.2018
20:15:48
Ну да

Ahmed
15.04.2018
20:19:44
добавь f.seek(0) перед чтением
today = date.today file_name = '{}-{}.csv'.format('test', today) with open(file_name, 'w') as f: writer = csv.writer(f) writer.writerow(['user', 'ticket', 'seconds']) users = UserTicket.objects.filter().values_list('user', 'ticket', 'seconds') for user in users: writer.writerow(user) f.seek(0) report_data = ReportData(server='Test') report_data.file.save('new', File(f)) Выдает такое io.UnsupportedOperation: not readable

Max
15.04.2018
20:20:31
да короче закрой его и открой заново)

Dmitriy
15.04.2018
20:22:36
Ты ведь дескриптор открывал на запись, и в том же блоке ещё и читаешь?

Max
15.04.2018
20:23:36
точно

Google
Max
15.04.2018
20:23:43
rw

Ahmed
15.04.2018
20:24:42
точно
Так?) today = date.today file_name = '{}-{}.csv'.format('test', today) with open(file_name, 'rw') as f: writer = csv.writer(f) writer.writerow(['user', 'ticket', 'seconds']) users = UserTicket.objects.filter().values_list('user', 'ticket', 'seconds') for user in users: writer.writerow(user) report_data = ReportData(server='Test') report_data.file.save('new', File(f))

блэд что-то разные варианты не работают

Max
15.04.2018
20:26:51
seek где?

Dmitriy
15.04.2018
20:27:00
Seek верни на место, да.

Alex
15.04.2018
20:27:37
f'test-{today}.csv'

Ahmed
15.04.2018
20:27:42
Не помогает) with open(file_name, 'rw') as f: ValueError: must have exactly one of create/read/write/append mode

Dmitriy
15.04.2018
20:28:50
r+ попробуй вместо rw.

Ahmed
15.04.2018
20:29:39
r+ попробуй вместо rw.
Я же записываю, не читаю

Алексей
15.04.2018
20:29:50
Можео еще в rwax открыть попробовать

XD

Dmitriy
15.04.2018
20:30:04
r+ это и на чтение и на запись.

Ahmed
15.04.2018
20:30:36
Не то не то не работает)

Dmitriy
15.04.2018
20:31:38
Тогда придётся один with для записи, а после него второй with для чтения.

Ahmed
15.04.2018
20:34:41
Тогда придётся один with для записи, а после него второй with для чтения.
И такой вариант не работает f = open(file_name, 'w') writer = csv.writer(f) writer.writerow(['user', 'ticket', 'seconds']) users = UserTicket.objects.filter().values_list('user', 'ticket', 'seconds') for user in users: writer.writerow(user) report_data = ReportData(server='Test') report_data.file.save('new', File(f)) f.close()

Ahmed
15.04.2018
20:41:38
а просто txt

Dmitriy
15.04.2018
20:42:33
В смысле? А до этого в каком был?

Google
Dmitriy
15.04.2018
20:43:46
Ты ведь не менял логику создания этого файла и записи в него?

Ahmed
15.04.2018
20:49:35
Ты ведь не менял логику создания этого файла и записи в него?
Данные из БД кладу в csv, а csv нужно покласть в другую таблицу БД

Dmitriy
15.04.2018
20:52:21
Это-то понятно. В каком смысле получившийся файл текстовый? CSV это же текстовый формат. Или у тебя файл с расширением .txt?

Ahmed
15.04.2018
20:54:03
Это-то понятно. В каком смысле получившийся файл текстовый? CSV это же текстовый формат. Или у тебя файл с расширением .txt?
Нет, твой вариант такое творит) today = date.today file_name = '{}-{}.csv'.format('test', today) with open(file_name, 'w') as f: writer = csv.writer(f) writer.writerow(['user', 'ticket', 'seconds']) users = UserTicket.objects.filter().values_list('user', 'ticket', 'seconds') for user in users: writer.writerow(user) with open(file_name) as f: report_data = ReportData(server='Test') report_data.file.save('new', File(f))

Dmitriy
15.04.2018
20:55:31
Так. А в сам файл данные пишутся?

Dmitriy
15.04.2018
20:56:00
Тогда в чём проблема?

Ahmed
15.04.2018
20:57:23
не закоммиченный файл создается первым with а в папке media это уже второй with

Dmitriy
15.04.2018
20:59:22
Понял. Смотри что происходит внутри report_data.file.save()

То есть тебе надо и в базу записать и в файл положить в media?

Ahmed
15.04.2018
21:03:20
Будет API где можно будет скачивать эти отчеты

я и к этому стремлюсь

Dmitriy
15.04.2018
21:04:19
В любом случае тебе нужно посмотреть как устроен метод save(), т.к. вся суть в нём.

Dmitriy
15.04.2018
21:10:16
На худой конец можешь просто самостоятельно скопировать *.csv куда захочешь.

Страница 1178 из 1273