
I
17.02.2017
07:22:49
Ну, в докере как именно запускаешь

Bulatbulat48
17.02.2017
07:22:57
Вообще использую paas
Dokku

Eugene
17.02.2017
07:23:08
FROM python:3.5

Google

I
17.02.2017
07:23:32
Докерфайл покажи

Bulatbulat48
17.02.2017
07:23:32
Закрываю requirements и procfile(gunicorn)

Eugene
17.02.2017
07:24:45
В самое начало докер файла

Bulatbulat48
17.02.2017
07:25:24
А если dokku на сервере, он же сможет с 2 приложениями работать на 2.7 и 3.х
?

I
17.02.2017
07:26:49
dokku на своем сервере?

Bulatbulat48
17.02.2017
07:27:19
На digital ocean

I
17.02.2017
07:27:28
да сможет тогда

Bulatbulat48
17.02.2017
07:27:32
Vds

I
17.02.2017
07:27:47
у тебя есть какой-то билдпак на твоих приложениях подключенный?

Google

Bulatbulat48
17.02.2017
07:27:49
Спасибо

I
17.02.2017
07:28:34
ну там при запуске приложения либо dockerfile используют, либо билдпак
если ничего нет - он сам определяет нужный билдпак
можно runtime.txt сделать, куда написать версию питона, кстати
python-3.6.0 в него, к примеру, написать

Bulatbulat48
17.02.2017
07:29:55
Попробую
Спасибо

Артем
17.02.2017
08:05:01

Chikiro
17.02.2017
08:38:42
И обычно потом появляется необходимость по нескольким параметрам фильтровать. /api/books? author=1&genre=2

Denis
17.02.2017
08:57:42
Народ, может кто что посоветовать по поводу API whatsapp, viber?Библы под python

Dmitry
17.02.2017
09:39:16

Denis
17.02.2017
09:39:59
Приватный мб
Я нашел только yowsup

Dmitry
17.02.2017
09:41:26

Denis
17.02.2017
09:43:49
вроде того https://core.telegram.org/method/auth.checkPhone

Dmitry
17.02.2017
09:44:46

Denis
17.02.2017
09:45:21

Dmitry
17.02.2017
09:47:27

Google

Dmitry
17.02.2017
09:49:32

Antony
17.02.2017
09:57:48
whats up построен поверх signal
у сигнала исходники открытые
лежат на гитхабе
из апи там - только запрос на обмен ключами
можно попробовать поднять консольный клиент, который будет получать ключики и общаться с пользователем
в виде бота

Dmitry
17.02.2017
10:01:57
Протокол шифрования для приватных чатов только одинаковый

Antony
17.02.2017
10:03:50
signal-протокол и имел ввиду
the Signal Protocol has been implemented into WhatsApp, Facebook Messenger, and Google Allo

Set
17.02.2017
12:04:11
привет
ajenti-v-python-gunicorn (Python WSGI support via gunicorn)
в адженти как подключить
не понимаю

Сергей
17.02.2017
15:56:34
добрый вечер
я хочу добавить кнопку в админку, именно на главную страницу админки, где перечень приложений. подскажите, куда копать?

amureki
17.02.2017
15:58:48
Google: django override admin page

Сергей
17.02.2017
15:58:55
ДОБРО ПОЖАЛОВАТЬ, ADMI. ОТКРЫТЬ САЙТ / ИЗМЕНИТЬ ПАРОЛЬ / ВЫЙТИ

amureki
17.02.2017
15:59:04
Где-то в эту сторону :)

Google

Сергей
17.02.2017
15:59:27
там в основном пишут про действия администратора

I
17.02.2017
15:59:36
можно даже в сорсах просто поискать этот текст

Сергей
17.02.2017
15:59:39
я даж не понимаю как правильно загуглить)

amureki
17.02.2017
15:59:53
И есть еще django admin tools
Или как он там

Eugene
17.02.2017
16:00:18
https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#overriding-admin-templates

amureki
17.02.2017
16:00:31

Сергей
17.02.2017
16:01:27
спасибо)

Bulatbulat48
17.02.2017
17:40:09
теперь статику не грузит :)
Подскажите плз, как правильно отдать static/css/main.css
В urls прописать?

Pavel
17.02.2017
17:46:58
В urls прописать?
когда ты запрашиваешь урл (/static/1.txt), который уходит в static files, то джанга отрезает от него ту часть, которая в настройках указана как STATIC_URL. То, что останется, ищется вначале в путях, которые прописаны в STATICFILES_DIRS, потом оно перебирает все приложения, заходит там в папку static и ищет вот тот остаточек там.

I
17.02.2017
17:47:00
нет
STATIC_ROOT
STATIC_URL
посмотри

Pavel
17.02.2017
17:47:21
когда ты запрашиваешь урл (/static/1.txt), который уходит в static files, то джанга отрезает от него ту часть, которая в настройках указана как STATIC_URL. То, что останется, ищется вначале в путях, которые прописаны в STATICFILES_DIRS, потом оно перебирает все приложения, заходит там в папку static и ищет вот тот остаточек там.
я сейчас про разработку говорю. В случае продакшена там всё проще - ./manage.py collectstatic проходит по всем местам, которые я указал выше, собирает там вообще все файлы, и сваливает их в STATIC_ROOT.

I
17.02.2017
17:48:21
кстати, а staticfiles_finder ему не надо прописать?
я просто не помню, как он по дефолту =)

Serge
17.02.2017
17:48:44
STATICFILES_FINDERS должен app уметь, а там в url влючишь static

Dmitriy
17.02.2017
17:48:45
и в продакшене джанга уже не отвечает за выдачу статик файлов, это перекладывается на веб-сервер

Bulatbulat48
17.02.2017
17:48:51
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')

Google

Bulatbulat48
17.02.2017
17:48:57
локально все работает

Serge
17.02.2017
17:48:57
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

Bulatbulat48
17.02.2017
17:49:03
в продакшене на dokku нет

Dmitriy
17.02.2017
17:50:01

Bulatbulat48
17.02.2017
17:50:14
gunicorn

I
17.02.2017
17:50:45
наверни еще nginx поверх него! =)

Serge
17.02.2017
17:50:56

I
17.02.2017
17:51:39
собственно, даже на сайте gunicorn'a просят nginx использовать

Bulatbulat48
17.02.2017
17:51:49
как лучше сделать?)

Serge
17.02.2017
17:52:14
nginx вот как лучше
как и сказали люди выше

I
17.02.2017
17:52:46
http://gunicorn.org/index.html#deployment
вот главная страничка gunicorn, тут они и советуют =)
собственно, тут статики еще нет
надо ее довесить еще одним location

Bulatbulat48
17.02.2017
17:53:31
в прошлый раз решал вот так, но это костыльно как-то?
#product setting
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
#local setting
#STATICFILES_DIRS = (os.path.join(BASE_DIR, 'static'),)

Eugene
17.02.2017
17:53:35
В DO доке есть же офигенный гайд

Serge
17.02.2017
17:53:36
location /static {
expires 30d;
access_log off;
alias /var/www/static/bla-bla;
}

I
17.02.2017
17:53:53
еще можно autoindex on сделать

Pavel
17.02.2017
17:54:17

I
17.02.2017
17:54:18
но можно и не делать
для ассетов не критично