@pydjango

Страница 1246 из 1273
Dan
10.05.2018
15:22:25
его разберешь получишь

Grigoriy
10.05.2018
15:24:32
Думаю, разберусь. Спасибо большое! Никак не мог собрать всё это до кучи)

efythonic
10.05.2018
15:44:25
Думаю, разберусь. Спасибо большое! Никак не мог собрать всё это до кучи)
Григорий! Валидация на фронте - это псевдовалидация. Настоящая валидация должна всегда производится в Django View ну или в промежуточных слоях и т.д. Если же у вас SPA, то наверное лучше использовать какой-нибудь удобный js фреймворк. Например CanJS позволяет псевдовалидировать формы на фронте и в нужных плейсхолдерах вствлять текст сообщений из валидатора.

Andrey
10.05.2018
15:47:39
именно в плейсхолдерах? впервые такое слышу

Google
Andrey
10.05.2018
15:47:59
это ж ужасно неудобно как читать, так и выводить несколько ошибок

efythonic
10.05.2018
15:48:28
Petr
10.05.2018
16:32:24
А как показать юзеру в админке стандартный экран подтверждения удаления нескольких объектов?

Grigore
10.05.2018
16:54:09
написал в drf в классе ApiView delete метод, но он почему-то не срабатывает и возвращает сразу 403, где-то я чет не нрастрил так?

передаю куки через withCredentionals

get и post работают. В логах также виден запрос на delete

Teatimeswithyou
10.05.2018
16:56:13
код?

Grigore
10.05.2018
16:57:38
class RoomViewAPI(APIView): def delete(self, request, pk): try: room = Room.objects.get(pk=pk) room.delete() except Room.DoesNotExist: return Response(status=status.HTTP_404_NOT_FOUND) return Response(status=status.HTTP_204_NO_CONTENT)

по get заходит, значит проблема не в путях, и код тоже не причем так как он не дергает вьюху, чет там не так с конфигурацией drf

Dan
10.05.2018
16:58:56
В delete приходит?

Grigore
10.05.2018
16:59:36
неа

Dan
10.05.2018
16:59:54
И ошибок нет?

Grigore
10.05.2018
16:59:58
post работает, значит и с токеном все ок

Google
Grigore
10.05.2018
17:00:10
ошибок нет, возвращает 403

сейча попробую глянуть еще раз с csrf токен если приходит

Andrey
10.05.2018
17:01:52
пермишны все проверил? точно DELETE метод используешь? pk в урле есть?

проверь что в settings.DEFAULT_PERMISSION_CLASSES, если во вьюхе отдельно не указывал

Grigore
10.05.2018
17:03:16
pk есть

{'TMPDIR': '/var/folders/ll/20qtt33j56b8dllnftw9g1gh0000gn/T/', '__CF_USER_TEXT_ENCODING': '0x1F5:0x0:0x0', 'SHELL': '/bin/zsh', 'HOME': '/Users/dikiigr', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.brhT1RoEuf/Render', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.k233QZAJUh/Listeners', 'PATH': '/Users/dikiigr/MEGA/Dev/Self/VT-CourseWork/.venv/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/go/bin:/Applications/Wireshark.app/Contents/MacOS:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin', 'LOGNAME': 'dikiigr', 'XPC_SERVICE_NAME': '0', 'USER': 'dikiigr', 'XPC_FLAGS': '0x0', 'VSCODE_NODE_CACHED_DATA_DIR_19406': '/Users/dikiigr/Library/Application Support/Code/CachedData/7c7da59c2333a1306c41e6e7b68d7f0caa7b3d45', 'VSCODE_NLS_CONFIG': '{"locale":"en-gb","availableLanguages":{}}', 'VSCODE_IPC_HOOK': '/Users/dikiigr/Library/Application Support/Code/1.23.0-main.sock', 'VSCODE_PID': '19406', 'LC_CTYPE': 'en_GB.UTF-8', 'LESS': '-R', 'LSCOLORS': 'Gxfxcxdxbxegedabagacad', 'OLDPWD': '/Users/dikiigr/MEGA/Dev/Self/VT-CourseWork', 'PAGER': 'less', 'PWD': '/Users/dikiigr/MEGA/Dev/Self/VT-CourseWork/engine', 'SHLVL': '1', 'ZSH': '/Users/dikiigr/.oh-my-zsh','TERM_PROGRAM': 'vscode', 'TERM_PROGRAM_VERSION': '1.23.0', 'LANG': 'en_GB.UTF-8', 'TERM': 'xterm-256color', 'VIRTUAL_ENV': '/Users/dikiigr/MEGA/Dev/Self/VT-CourseWork/.venv', 'PS1': '(.venv) ${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)', '_': '/Users/dikiigr/MEGA/Dev/Self/VT-CourseWork/engine/./manage.py', '__PYVENV_LAUNCHER__': '/Users/dikiigr/MEGA/Dev/Self/VT-CourseWork/.venv/bin/python', 'DJANGO_SETTINGS_MODULE': 'config.settings', 'TZ': 'UTC', 'RUN_MAIN': 'true', 'SERVER_NAME': '1.0.0.127.in-addr.arpa', 'GATEWAY_INTERFACE': 'CGI/1.1', 'SERVER_PORT': '8000', 'REMOTE_HOST': '', 'CONTENT_LENGTH': '', 'SCRIPT_NAME': '', 'SERVER_PROTOCOL': 'HTTP/1.1','SERVER_SOFTWARE': 'WSGIServer/0.2', 'REQUEST_METHOD': 'DELETE', 'PATH_INFO': '/api/rooms/7/', 'QUERY_STRING': '', 'REMOTE_ADDR': '127.0.0.1', 'CONTENT_TYPE': 'text/plain', 'HTTP_HOST': '127.0.0.1:8000', 'HTTP_CONNECTION': 'keep-alive', 'HTTP_PRAGMA': 'no-cache', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_ACCEPT': 'application/json, text/plain, */*', 'HTTP_ORIGIN': 'http://127.0.0.1:8000', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36', 'HTTP_DNT': '1', 'HTTP_REFERER': 'http://127.0.0.1:8000/', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate, br', 'HTTP_ACCEPT_LANGUAGE': 'en-US,en;q=0.9,ru-RU;q=0.8,ru;q=0.7,ro;q=0.6,bg;q=0.5,und;q=0.4', 'HTTP_COOKIE': 'offer=1507816940832; _ym_uid=15083024981004876236; jv_visits_count_XJRw39xp8A=10; djdt=hide; jv_visits_count_oQRIfIXiM3=24; _ym_isad=1; sessionid=jn6jhq40p402j26iyujt0lf8jpvw0twx; csrftoken=GpQVyg3zden5vQiJgLokztBTpaJVDR1Pi3xuIyuM9aVVzHyLEjdU4sIgdGGB7oJJ', 'wsgi.input': <_io.BufferedReader name=9>, 'wsgi.errors': <_io.TextIOWrapper name='<stderr>' mode='w' encoding='UTF-8'>, 'wsgi.version': (1, 0), 'wsgi.run_once': False, 'wsgi.url_scheme': 'http', 'wsgi.multithread': True,'wsgi.multiprocess': False, 'wsgi.file_wrapper': <class 'wsgiref.util.FileWrapper'>, 'CSRF_COOKIE': 'GpQVyg3zden5vQiJgLokztBTpaJVDR1Pi3xuIyuM9aVVzHyLEjdU4sIgdGGB7oJJ'} в request.META это

Andrey
10.05.2018
17:05:45
извращенец

хоть бы через форматирование пропустил чтоли

Grigore
10.05.2018
17:06:09
бля) да)

токена нет

проблема решена, посмотрел, а заголовка в хедерах для csrf токена нет

Andrey
10.05.2018
18:53:18
Есть ли возможность вернуть значение, и начать обработку пришедших данных? Вот такая проблема у меня- https://stackoverflow.com/questions/17504435/uwsgi-throws-io-error-caused-by-uwsgi-response-write-body-do-broken-pipe

Или тут лучше Celery использовать?

Dmitriy
10.05.2018
18:54:56
Ну, можно и Селери использовать, если задача подходящая.

Andrey
10.05.2018
18:59:22
Суть в том, что Джанга принимает вебхуки телеграм бота- текстового квеста. Юзеру выводятся сообщения с интервалом. Вывод всех сообщений может занять большое время

Селери подойдёт для этой цели?

Dmitriy
10.05.2018
19:04:31
Судя по твоему описанию — подойдёт, почему нет? Кроме того Селери это прям ультимативное решение.

Andrey
10.05.2018
19:09:34
Все гайды по селери в связке с Джанго почему-то очень старые, и я нигде не нашел реализацию чего-то похожего на то, что мне нужно. Ты не встречал случайно примеры таких проектов?

Dmitriy
10.05.2018
19:12:46
Не встречал.

Ты раньше не работал с Селери?

Google
Серёга
10.05.2018
19:14:40
там вроде просто всё с селери с нуля. я только на живом проекте встречал.

Dmitriy
10.05.2018
19:20:11
Нет
В таком случае, рекомендую обратить внимание ещё и на http://flower.readthedocs.io/en/latest/index.html Ну и у самого Селери достаточно толковая документация.

efythonic
10.05.2018
19:32:26
No Name
10.05.2018
21:04:41
url(r'^category/(?P<category_name_slug>[\w\-+])/$', views.category, name='category') Уточните. <category_name_slug> - как я понял означает что текст записанный между category/ и / передается в виде значения аргументу category_name_slug во вьюхе?

Dan
11.05.2018
03:29:42
у тебя форма как отрисовывается ?

случаем не через bootstrap?

Set
11.05.2018
03:32:41
{{ form|bootstrap_horizontal }}

Dan
11.05.2018
03:33:10
попробуй {{ form }}

Set
11.05.2018
03:34:31
<bidding.filters.LotsFilter object at 0x10dd50518>

class ListLotView(FilterView): template_name = 'bidding/list_lot.html' model = Lot context_object_name = 'lots' paginate_by = 20 filterset_class = LotsFilter def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['form'] = LotsFilter return context

без get_context_data вообще нету его

Google
Dan
11.05.2018
03:35:30
нет, в шаблоне убери фильтр bootstrap_horizontal

посмотри форма нормально показывается

Set
11.05.2018
03:35:46
убарл

убрал

Dan
11.05.2018
03:35:52
если да, проблема в bootstrap

Set
11.05.2018
03:35:54
bidding.filters.LotsFilter object at 0x10dd50518

Dan
11.05.2018
03:36:10
это в шаблоне выводит ?

Set
11.05.2018
03:36:23
да

Dan
11.05.2018
03:36:35
аа

нуда

LotsFilter - возвращает 2 объекта qs и form на сколько я помню

те в шаблоне у тебя должно быть

{{ form.form }}

Set
11.05.2018
03:38:51
{{ form.form }}
спасибо )

Dan
11.05.2018
03:39:01
ну и теперь пробуй ее стилизовать

Set
11.05.2018
03:53:21
спасибо получилось )

Василий
11.05.2018
05:17:38
Насколько плохо в боевую использовать стандартный джанговский кэшер в озу? django.core.cache.backends.locmem.LocMemCache Для хранения между запросами пользователей queryset'а ~на 10-15тыс. записей для каждого.

Artyem
11.05.2018
05:20:07
Насколько плохо в боевую использовать стандартный джанговский кэшер в озу? django.core.cache.backends.locmem.LocMemCache Для хранения между запросами пользователей queryset'а ~на 10-15тыс. записей для каждого.
если у тебя только один процесс с джангой, и не составляет проблему что после перезапуска этого процесса кэш будет пустой, то норм

если то, что в разных процессах может закешироваться разное состояние системы и оно будет дублироваться на каждый процесс - не составляет проблему, то и на нескольких процессах джанги мjжно юзать xD

Артем
11.05.2018
06:06:35


Google
Артем
11.05.2018
06:16:28
Есть идеи у кого нибудь

serbernar
11.05.2018
06:17:15
Идеи по поводу чего?

Артем
11.05.2018
06:17:55
Ох блин, залагал телеграм. Извините. Там вопрос был но пропал

Я делаю все по инструкции выше, а мне вылетает ошибка unhashable type :"dict"

Идеи по поводу чего?
Что я не так сделал

Set
11.05.2018
06:19:46
как лучше хранить в бд такие данные 20180505083045410-110700008?

serbernar
11.05.2018
06:19:52
А ты логировал что получаешь, что отдаешь?

Артем
11.05.2018
06:20:11


serbernar
11.05.2018
06:20:12
Ваш К.О.

Massimo
11.05.2018
06:20:17
А почему у тебя GET['q'] В квдратных скобках?

Артем
11.05.2018
06:21:35
А почему у тебя GET['q'] В квдратных скобках?
Если в круглых то другая ошибка вылетает : query dict object is not callablr

Massimo
11.05.2018
06:22:43
Да
Покажи логи в таком случае что получаешь

Артем
11.05.2018
06:23:37
Покажи логи в таком случае что получаешь
Я правильно понял что логи это те что джанго выводит?

Massimo
11.05.2018
06:25:14
Можно и в консоли выводить, да. Но вопрос в том что у тебя result(request) вот суть заключается в том что в реквесте лежит

Артем
11.05.2018
06:27:08


Вот

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