@pydjango

Страница 336 из 1273
Artem
30.06.2017
08:57:56
а саму авторизацию по нескольким полям просто принимай во вьюху, где авторизовываешь, проверяй как тебе надо поля, и присваивай нормальный токен

нет, в том проекте идентификация по мыльнику и паролю, и в случае если не был передан еще флаг - is_mobile=true, то добавлялись сессии

Grigoriy
30.06.2017
08:59:52
Ну смотри, у тебя в jwt_payload_handler в наборе claim-ов от юзера передается только uid

И когда идёт верификация или рефреш токена, то поиск юзера идёт только по uid - в принципе, мне это подходит)

Google
Artem
30.06.2017
09:01:05
так id или uid всегда уникальный, и он нормально сгенерируется, тебе главное на этапе авторизации получить данные, кверисетом отобрать и получить нужного

и к нему получить новый валидный jwt

Grigoriy
30.06.2017
09:02:33
ок, я понял. Для авторизации я пару сериализаторов переопределил. Запарился только на самом моменте получения токена

Ок, спасибо за толчок в нужном направлении)

Artem
30.06.2017
09:03:18
Пожалуйста)

На крайняк, можно кастомный сериализатор сделать на коллекции и туда запихать разные данные, без валидации конечно, но быстрая реализация)

Grigoriy
30.06.2017
09:13:02
Кстати, а что такое 'rand' у тебя? Для каких целей?

Рустам
30.06.2017
10:12:22
или даже джангу не использовать?
Фреймворки юзать запретили, а либы нет

Прям так и написали в тз)

Dan
30.06.2017
10:25:49
Прям так и написали в тз)
https://awesome-python.com/#restful-api

Рустам
30.06.2017
10:52:27
https://awesome-python.com/#restful-api
Спасибо, полезная ссылка

Igor
30.06.2017
11:01:16
Привет, есть модель, у нее может быть FK на одну из 6 моделей. Делать это через GFK, или смысла нет, если модели фиксированные?

Dan
30.06.2017
11:05:10
GFK?

Google
Igor
30.06.2017
11:10:55
Generic Foreign Key

Set
30.06.2017
11:13:28
решил проблему!!! сорян

Alexander
30.06.2017
11:13:46
Правильное оформление кода повысит вероятность, что его вообще прочитают

Dpaste.de

Pavel
30.06.2017
11:31:28
Не юзал ничего кроме джанги и фласка, поэтому есть вопрос. Нужно реализовать сервис для асинхронного обмена данными формата json(это тестовое задание, но не мое, просто хочу уметь такие делать). Обмен данными происходит по идентификатору получателя (POST /api/<ид. получателя> - отправка на сервер; GET /api/<ид. получателя > - получение с сервера). Должен работать один из способов создания структуры БД, позволяющий без особых усилий вносить изменения в структуру базы данных. Джангу и алхимию юзать нельзя. Подскажите, какой стек в этом случае хорошо подойдет. Знаю, задача изи, можно разными способами решить, но посоветуйте, пожалуйста.

Ruslan
30.06.2017
11:43:06
elasticsearch

Леша
30.06.2017
11:43:45
Привет. Кто-нибудь знает, как в sqlalchemy в поле DateTime сохранить datetime.date.today()? мне нужно сохранить только день, месяц и год

Ruslan
30.06.2017
11:44:30
поменять тип поля

Леша
30.06.2017
11:45:55
на какой?

я новичек в этом. ставлю пишу Column(Datetime, default=datetime.date.today()) - неправильно

Ruslan
30.06.2017
11:47:31
Date?

Леша
30.06.2017
11:49:11
ошибка: SQLite Date type only accepts Python date objects as input.

date = Column(Date, default=datetime.date.today()) поле выглядит вот так

Igor
30.06.2017
11:51:59
default=datetime.date.today() оно не будет создавать с today

Оно исполнится один раз, и далее будет постоянно одна и та же дата

Леша
30.06.2017
11:52:42
в один день - да

в разные дни разные даты

Igor
30.06.2017
11:53:05
Нет

Леша
30.06.2017
11:53:37
что тогда делать, если нужно, что бы хранились именно день, месяц и год?

Igor
30.06.2017
11:54:11
datetime.date.today()

Google
Igor
30.06.2017
11:54:31
Но опять же, эта дата будет корректной только в первый день)

Леша
30.06.2017
11:57:18
то-есть, если в следующий день я добавляю объект в бд, у него будет та же дата, что и вчера?

datetime.date.today()
после изменения разницы с моим решением нет

Igor
30.06.2017
11:59:07
В идеале писать - default = datetime.date.today

Леша
30.06.2017
11:59:59
а результат будет правильный в любой день?

Igor
30.06.2017
12:00:14
Да

Должно работать правильно.

Леша
30.06.2017
12:03:11
все работает правильно, спасибо )

Artem
30.06.2017
14:46:06
Ребят, яндекс кассу прикручивал кто-нибудь?

Roman
30.06.2017
16:17:33
я прикручивал, но в итоге вручную проще оказалось, чем через их плагин

но тут ведь новый закон ввели, который завтра вступает в силу, и надо все менять

Roman
30.06.2017
16:18:18
там что-то про отправку чеков в налоговвую

Set
01.07.2017
04:23:04
подскажите в чем проблема 2017/07/01 10:20:18 [crit] 13522#0: *32263 connect() to unix:/var/www/zhangulim.kz/gunicorn_conf/site.sock failed (13: Permission denied) while connecting to upstream, client: 91.201.214.3, server: site, request: "GET /favicon.ico HTTP/1.1", upstream: "http://unix:/var/www/site/gunicorn_conf/zhangulim.kz.sock:/favicon.ico", host: "zhangulim.kz", referrer: "http://site/" работал

Nikita Kurinnyi
01.07.2017
04:51:41
Права на сокет файл, в логе же написано)

Erzh
01.07.2017
04:53:10
только не ставь 777)

Nikita Kurinnyi
01.07.2017
04:54:13
Запусти через докер да и все, нет гемора с правами

Set
01.07.2017
05:15:44
Права на сокет файл, в логе же написано)
да делал я прова не помогло (( поэтому и написал сюда ! в конце нашел решение убил процесс после возобновил!!! аномалия какая та

Nikita Kurinnyi
01.07.2017
05:16:24
Показывай права на файл

Google
Nikita Kurinnyi
01.07.2017
05:16:40
И от какого юзера запущено все?

Set
01.07.2017
05:17:59
прова стоят 775 на все! все время работал и вдруг какием то чудесным образом 500 ошибка!!! прописал даже еще раз команду chmod 775 /dir/*

Nikita Kurinnyi
01.07.2017
05:18:42
Зачем? У тебя трабла только а сокет файлом, зачем на все писать?

Admin
ERROR: S client not available

Nikita Kurinnyi
01.07.2017
05:19:12
Что за права на сокет файле?

Set
01.07.2017
05:23:09
стоят 775 на все кроме 2ух файлов db.sqlite3 manage.py

Nikita Kurinnyi
01.07.2017
05:23:57
В след раз лучше давай вывод ls -la

Nikita Kurinnyi
01.07.2017
05:24:42
Можешь дать сейчас этот вывод? И от какого юзера у тебя запущен веб сервер(nginx я предполагаю)

Erzh
01.07.2017
05:32:14
зачем сайт от рута заливать? Создай пользователя и работай под ним

Nikita Kurinnyi
01.07.2017
05:32:28
Чёт я не вижу /var/www/zhangulim.kz/gunicorn_conf/site.sock

Nikita Kurinnyi
01.07.2017
05:33:57
Вот в нем и проблема, запусти nginx от своего пользователя

Erzh
01.07.2017
05:36:08
Зачем? Nginx должен быть запущен от nginx, а вот gunicorn от его юзера

И на файлах owner должен быть не рут, а пользователь от которого работает gunicorn

Nikita Kurinnyi
01.07.2017
05:45:24
Я уже забыл когда без докера это все делал, там все о root и вообще пофиг на это

Google
Set
01.07.2017
05:46:15
пробую

ругается

я просто делаю по нему 1) Создать нового пользователя с домашней папкой. Пусть это будет site.kz с домашней папкой /var/www/site.kz Для этого введите команду useradd -d /var/www/site.kz -m site.kz 2) Дать папке /var/www/site.kz/ права 755. Иначе nginx выдаст ошибку 403 chmod 755 /var/www/site.kz 3) Залогиниться под пользователем site.kz su - site.kz 4) Создать папки для виртуального окружения, gunicorn-a и самого проекта. mkdir my_env gunicorn_conf httpdocs virtualenv my_env 5) Загрузить папку Вашего проекта в httpdocs Можете использовать любой способ (ftp, git, ssh и т.п) 6) Произвести установку всех пакетов + gunicorn в Ваше виртуальное окружение 7) Создать конфигурационный файл gunicorn аналогично проекту zhanalemi.kz Далее от root-а 8) Создать конфигурационный файл nginx аналогично проекту zhanalemi.kz 9) Создать systemd-unit-file аналогично проекту zhanalemi.kz. Пусть это будет /etc/systemd/system/site-gunicorn.service При редактировании файлов не забудьте исправить полные пути до файла сокета и пути в systemd-unit-file. 10) Перезагрузить nginx systemctl restart nginx 11) Добавить gunicorn-сервис данного сайта в автозагрузку и запустить его systemctl enable site-gunicorn systemctl start site-gunicorn

Nikita
01.07.2017
05:53:32
ребят, а подскажите, можно ли так сделать: имею в модели поле description (описание) и поле Value для хранения значения. Как правильно в форме вывести поле description? Сейчас вот так '''class AnswersForm(forms.ModelForm): description = forms.CharField( label='Описание', widget=forms.Textarea(attrs={'readonly': 'readonly'}) ) value = forms.CharField(label='Значение')'''

Nikita
01.07.2017
05:56:14
а можно как то с делать, чтобы widget был обычным p?

Erzh
01.07.2017
05:56:58
Nikita Kurinnyi
01.07.2017
05:57:36
Так это песочница, пофиг что там все от рута

compose файл зато пишется за 1 минуты и все подымается 1 командой

Set
01.07.2017
06:04:50
блин попытался я сделать через пользователя так у меня теперь 500 стоит и не хочет запускаться

Erzh
01.07.2017
06:19:58
502? Что показывает systemctl status имя_сервиса_который_gunicorn_сайта?

Set
01.07.2017
06:41:02
502? Что показывает systemctl status имя_сервиса_который_gunicorn_сайта?
пока не знаю меня заблочили атака чего то 10 мин надо бы подождать …

Erzh
01.07.2017
06:42:02
много не удачных ssh-авторизаций

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