
Alexander
24.08.2017
08:57:37
это в общем-то антипаттерн - средства работы с базой данных засовывать в универсальный фреймворк
тут у каждой СУБД свои инструменты и они будут удобнее

amureki
24.08.2017
08:57:50
Лишняя абстракция, угу
Тяжело поддерживаемая

Google

Ilgiz
24.08.2017
08:59:50
Ребят у меня вопросик, ManyToManyFiled поле, он хранит ключи в одном поле?

Dan
24.08.2017
09:00:11
нет

Ilgiz
24.08.2017
09:00:12
на mysql

Dan
24.08.2017
09:00:34
он создает отдельную таблицу в которой хранится 2 ID

Artem
24.08.2017
09:01:04
свой и два FK

Call Me Maybe
24.08.2017
09:01:19
т.е. по определнию она не может быть нормализована?

Ilgiz
24.08.2017
09:01:25
Я чет не вдупляю

Artem
24.08.2017
09:01:32
она как раз и создает денормализацию

Dan
24.08.2017
09:01:34
3 ID :)
ну свой как правило не используется =)

Artem
24.08.2017
09:02:42

Dan
24.08.2017
09:02:52
это дааа

Ilgiz
24.08.2017
09:06:46

Google

Eugene
24.08.2017
09:09:33
Структура изменилась и по новой фикстуры генерировать:)

Dan
24.08.2017
09:11:05
грубо говоря да

Глеб
24.08.2017
09:23:07
Нужен многопоточный софт для продвижения в одной соцсети
Напишите в лс, кто может сделать


Гийденко
24.08.2017
09:38:47
Ребят, есть ли у кого пример Dockerfile для проекта django с использованием кода через монтирование дериктории? То есть сам код в образ не пишется а читается с диска.
У меня не получается собрать такой образ
вот структура папок
root_folder
∟ ? project
∟ requirements.txt
∟ ? media
∟ Dockerfile
Сам Dockerfile такой
FROM python:3.5
VOLUME ["???????????", ]
RUN pip install -r /data/web/project/requirements.txt
ENV DJANGO_SETTINGS_MODULE main.settings
WORKDIR /data/web/project
EXPOSE 8081
CMD ["/bin/bash", ]
проблема в том что недоконца понимаю как в Dockerfile работает VOLUME.
Что там надо указать чтобы папка /data/web/project ссылалась на физический диск по адресу /home/username/project ? Или надо делать отдельный контейнер для сохранения данных на диск и на него ссылаться?
Спасибо
или при построении образа надо скопировать requirements.txt кудато, поставить пакеты и всё, а монтировать только во время старта контейнера?


Artem
24.08.2017
09:51:04
и ее цеплять к nginx

Гийденко
24.08.2017
09:51:41
это понятно, я какраз и не хочу копировать проект в образ. хочу просто сделать ссылкой

Uncle
24.08.2017
09:53:39
писос с этим докером, я вообще не понимаю что с ним делать.

Гийденко
24.08.2017
09:53:50
загружаемые файлы типа media очевидно что будут ссылкой на ностовый диск, сейчас я про исходники проекта говорю. мне надо чтобы в образе были только пакеты и настройки, то есть статичные файлы и библиотеки. А код проекта будет часто меняться, чтоли каждый раз перебилдивать образ
докер норм тема, просто под определенные задачи. не всегда нужен

Uncle
24.08.2017
09:55:04
я не знаю, если я юзаю virtualenv , докер мне нужен вообще?
можно де на продакшн завернуть в проект саму папку виртуалки + requirements
нахрена нужен ддокер?

Pavel
24.08.2017
09:55:31

Владимир
24.08.2017
09:56:15

Гийденко
24.08.2017
09:56:15
щас так сдалал:
во время билда копируется файл requirements.txt в образ, там ставятся зависимости и файл удаляется.
А монтирование проекта в образ происходит во время запуска контейнера через compose. Логично ли так поступать? Смущает лишнее копирование
гдето в доку читал что при билдинге образа монитрованные папки игнорируются, значит таки можно примонтировать. мне только не ясно что писать после VOLUMES

Google

Гийденко
24.08.2017
09:58:35
так же пути или имя контейнера или еще что?

Artem
24.08.2017
10:01:12
а каждый дракон живет своим циклом, и в отдельном контейнере

Uncle
24.08.2017
10:01:38
Я и так их видел
Одного даже гладил

Artem
24.08.2017
10:02:05
Отлично, гладил ты их, потому что они имеют доступ к внешему миру
а сама Дейнерис, это как дом сервер управляющая ими
но не суть, у каждого докера есть свой конфиг, с помощью которого ты управляешь повведением дракона, даешь ему имя, связать титевой общение между собой

Uncle
24.08.2017
10:03:45
ну а профит то в чем? если я разворачиваю по одной виртуалке на проект.

Artem
24.08.2017
10:03:46
или даже общее небо для них, что бы они общались с самой Дейнерис
это виртуалка, и у тебя получается, что для каждого дракона свой мир делается
и Дейнерис приходится рулить не просто драконом, а целым королевством и его дракномо
а тут у тебя только сам дракон, живущий в том же королевстве, что и сама Дейнерис
John ты только не флиртуй с Дейнерис!

Uncle
24.08.2017
10:05:34
мы уже встречаемся

Artem
24.08.2017
10:05:46
Север потеряешь :(

Uncle
24.08.2017
10:06:30
насчет докера все равно ответа не получил, если на каждом преокте своя виртуалка, все изолировано. какой профит от докера? зачем он нужен? спомнил старую статью с хабра "ПХП НЕ НУЖЕН"

Дмитрий
24.08.2017
10:06:38

Uncle
24.08.2017
10:06:43

Artem
24.08.2017
10:07:11

Google

Uncle
24.08.2017
10:07:29
она плакала когда он ее пердолил

Artem
24.08.2017
10:08:00

Uncle
24.08.2017
10:09:11
до сегодняшнго дня я думал наоборот, все стараются изолировать проект от глобалього питона


Гийденко
24.08.2017
10:09:44
профиты
- одинаковая предсказуемая среда на деве и продакшоне без излишеств всяких нехороших
- оч быстрая установка севрера в 1-3 строки
- легкое масштабирование через запуск еще одного контейнера, включая автомасштабирование
- легко развернуть сервер тому кто не в теме (закащик например)
- чистая отдельная система в которой крутится твой проект и которую легко ресетнуть и заново пересобрать на чистовик в одну команду
- готовые образы в поставке для популярных батареек (Redis, postgres, mysql, worgpress, php...)
- легковесная виртуалка которая является просто еще одним процессом а не реально виртуалкой (актулаьно для линуксов)
Лично для меня удобно тем что можно в любой момент всё собрать с нуля и быть увереным что там ничего лишнего нет и на продакшоне будет точно так же. Плюс все скрипты и шпоргалки по настройке сервера можно запеч в темплейтовый образ в котором достаточно поменять пару энвайроментов и можно стартовать новый проект уже через 3 мин а не настраивать новый сервер пол дня (конечно есть и другие способы, не спорю).


Artem
24.08.2017
10:10:01


Гийденко
24.08.2017
10:10:48

Artem
24.08.2017
10:11:12
Ну там в контейнере все базируется на ебунте ((( и куча всяких процессов лишних :(

Uncle
24.08.2017
10:11:13


Artem
24.08.2017
10:11:24

Гийденко
24.08.2017
10:11:37
чуть более верхний уровень
да там даже от рута всё делать можно)

Uncle
24.08.2017
10:12:09
хм

Гийденко
24.08.2017
10:12:29
это virtualenv для линукса, аналогично работает
ну на сколько я понял

Artem
24.08.2017
10:12:52
John а ты с каких пор начал писать на питоне? Просто до этого ты упоминал, что отлично владеешь мечем, но не управляешь змеями :)

Fedor
24.08.2017
10:13:13

Google

Uncle
24.08.2017
10:13:39

Гийденко
24.08.2017
10:13:39
офтопите чото

Artem
24.08.2017
10:14:15

Sergey
24.08.2017
10:15:17
офтопите чото
это такой современный г-сериал, с г-сценарием. Лучше не знать и не смотреть никогда

Гийденко
24.08.2017
10:16:12
на самом деле я в курсе, но я сомтрю только мейкофы по графике в силу профессионального интереса

Set
24.08.2017
10:17:03
не могу понять почему у меня выходит ошибка !!! подскажите пожалуйста!!
url(r'news/(?P<slug>[-\w]+)/$', NewsView.as_view(), name='news_list'),
вьюшка
class NewsView(ListView):
template_name = 'news_list.html'
model = New
context_object_name = 'news'
paginate_by = 20
def get_queryset(self):
qs = self.model.objects.all()
# query = self.request.GET.get('q')
# if query:
# qs = qs.filter(gallery__icontains=query)
if self.kwargs.get('slug'):
qs = qs.filter(category__slug=self.kwargs['slug'])
return qs

Гийденко
24.08.2017
10:17:31
а ошбка какая

Set
24.08.2017
10:17:47
Page not found (404)

Pavel
24.08.2017
10:19:41
а урл какой запрашиваешь?

Set
24.08.2017
10:20:18
да в урлах была ошибка ) спасибо решил ! написал news/get/

Дмитрий
24.08.2017
10:22:21

Artem
24.08.2017
10:22:40

Dan
24.08.2017
10:23:01

Artem
24.08.2017
10:23:11
ну шо там не убунта

Дмитрий
24.08.2017
10:23:35

Artem
24.08.2017
10:25:36
ладно, убедил, спасибо!

Гийденко
24.08.2017
10:31:10
если верно настроить проект то запуск сервера сводится к 3м командам
1 - поставить docker, docker-compose, git
2 - скачать реп с проектом
3 - запустить docker-compose или какойто стрипт с подоготовительными действиями типа создания папок и запуском docker-compose
поддердка автомасштабирования наверна заменит 3ю команду на чтото другое, там будет docker-swarm наверна

Eugene
24.08.2017
10:32:21
в cookiecutter от pydaddy можно подглянуть :)

Massimo
24.08.2017
10:44:22
Вопрос такой, через админку джанго добавляю объект мо определенной модели, в поле, где указывается имя объекта если пишу по-русски вываливается ошибка 'ascii' codec can't encode ... бла бла.