Size: a a a

Django [ru] #STAY HOME

2019 June 14

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
🤔
Source:
"2"+1
Result:
must be str, not int
воот
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
TypeError: can only concatenate str (not "int") to str
источник

S

Spirit💎 in Django [ru] #STAY HOME
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Spirit💎
Ща знакомый пилит каршеринг на ноде))
самое страшное - когда на Node.js пишут всякие вещи, связанные с биллингами или различными вычислениями) ошибку можно не сразу найти и потом уже не будет возможности восстановить всё, серверный js в таких случаях - отличный способ выстрелить себе в ногу
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Spirit💎
господа, давайте лучше поможем мне)

итак, есть одна впска
на ней крутятся:
1) докер контейнер с джангой
2) ноджс с другим сайтом

что нужно:
я буду добавлять еще один сайтик на джанге (да-да, без фреймворков, с джанго-рендером)

из бд сейчас используется склайт на первом проекте и это совсем неудобно мне.

я хочу вынести бд в постгре – нужно создать отдельный контейнер с бд, к которому коннектить 2 моих сайта. старый и новый, который загружу.

теперь возникает проблема раздачи статики. сейчас это сделано через какой-то гиперкостыль, что я уже сам забыл как оно работает. навскидку, в локалке есть директория, в которой лежит статика. эту статику я копирую руками при каждом новом гит пуле.

нжинкс раздает эту статику через правила.

теперь вопрос: как не быть всратым и довести это до адекватного состояния?

– получается, что я создам контейнер со вторым сайтом и тоже нужно будет прокидывать статику. это можно как-то в композере на автомате сделать?

– как джанге в контейнере указать бд, которая в другом контейнере?

– и нужен ли единый композер файл со всеми кластерами? или можно по отдельности собирать каждый проект и не заморачиваться
ты можешь класть статику на объектное хранилище, например, (django-storages) над ним повесить CDN и избавиться от nginx'а
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
и не нужны будут никакие volume'ы для статики тогда и контейнеры с nginx'ом
источник

S

Spirit💎 in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
самое страшное - когда на Node.js пишут всякие вещи, связанные с биллингами или различными вычислениями) ошибку можно не сразу найти и потом уже не будет возможности восстановить всё, серверный js в таких случаях - отличный способ выстрелить себе в ногу
ну вроде как ts спешит на помощь
источник

S

Spirit💎 in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
и не нужны будут никакие volume'ы для статики тогда и контейнеры с nginx'ом
щас нжинкс глобально, не в контейнере стоит
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Spirit💎
ну вроде как ts спешит на помощь
это холиварная тема довольно, многие программисты на JS не любят и не хотят использовать ts
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
ну, в любом случае, это уже другой вопрос - Python vs TS, а не Python vs JS
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
я знаю тех, кто принципиально на TS ничего писать не будет и предпочёл бы Python, хоть и любит JS сильнее Python'а
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Spirit💎
щас нжинкс глобально, не в контейнере стоит
у него есть некая директория, откуда он раздаёт статику, верно?) вот эту директорию ты можешь монтировать при запуске контейнера и копировать туда файлы статики
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
этот вариант хуже варианта с объектным хранилищем потому что ты начинаешь быть привязанным к конкретной впске, если сервер с ней упадёт - ты не сможешь поднять контейнер на другой, у тебя не будет статики, она останется на упавшем сервере
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
хранить статику на объектном хранилище всегда лучше, чем монтировать какие-либо volume'ы как раз по причине того, что это объектное хранилище крутится не на 1 сервере, а на нескольких, один из них упал - с других будет раздаваться (стоит проконсультироваться с документацией сервис-провайдера, обычно это несколько копий файлов на разных нодах)
источник

S

Spirit💎 in Django [ru] #STAY HOME
Alexander Ovchinnikov 🦁
хранить статику на объектном хранилище всегда лучше, чем монтировать какие-либо volume'ы как раз по причине того, что это объектное хранилище крутится не на 1 сервере, а на нескольких, один из них упал - с других будет раздаваться (стоит проконсультироваться с документацией сервис-провайдера, обычно это несколько копий файлов на разных нодах)
а где можно почитать про объектное хранилище? ну как реализовать его
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
локальные volume'ы будут лучше только в тех ситуациях, когда вам нужен быстрый локальный дисковой кеш, часто локально у вас доступен NVMe накопитель, он быстрый [хотя, разумеется, лучше пожрать оперативку, если она есть, будет ещё быстрее]
источник

S

Spirit💎 in Django [ru] #STAY HOME
так. давайте ток без крайностей и не придем к кубернетесу пожалуйста
источник

AO

Alexander Ovchinnikov 🦁 in Django [ru] #STAY HOME
Spirit💎
а где можно почитать про объектное хранилище? ну как реализовать его
AWS S3 как пример или обычно на сайте у сервис-провайдера про это написано, если оно есть
источник

S

Spirit💎 in Django [ru] #STAY HOME
на сайте максимум 1-2к чел в день будет
источник

S

Spirit💎 in Django [ru] #STAY HOME
и там просто отдача контента, без сложных вещей)
источник