Size: a a a

Сообщество Python Программистов

2020 September 16

k

krau5 in Сообщество Python Программистов
Alexander
с жестким условием о том, что бекенд должен отдавать только JSON
ну, и принимать собсна тоже
источник

AT

Alexander T in Сообщество Python Программистов
джсономешалка, мешает джсон
источник

A

Alexander in Сообщество Python Программистов
krau5
то есть запускать два процесса вместе это нормально и гордое название "говнокод" не носит, правильно?
да, но в продакшне делается чуть иначе. твой фронт должен быть собран в статический бандл и лежать как обычный JS в рамках локейшна nginx'a. В том же nginx либо на отдельном порту либо на отдельном локейшне организуется proxy_pass в сторону flask-бекенда, который может быть как на dev-сервере самого фласка (не надо так делать), так и на gunicornd wsgi сокете
источник

A

AstralRomance in Сообщество Python Программистов
Alexander T
джсономешалка, мешает джсон
Бригада фронтэндеров
Жрёт самогон
источник

A

Alexander in Сообщество Python Программистов
ну и кстати, это могут быть не просто два разных процесса, но и два разных сервера с двумя принципиально разными именами
источник

A

Alexander in Сообщество Python Программистов
например www.krau5-vue.orgy и krau5.mega.json.api.service.krau5.orgy
источник

k

krau5 in Сообщество Python Программистов
Alexander
например www.krau5-vue.orgy и krau5.mega.json.api.service.krau5.orgy
ну, оргия, так оргия, че нам
источник

A

Alexander in Сообщество Python Программистов
=)
источник

Д

Дмитрий in Сообщество Python Программистов
вопрос по pyqt
у меня есть глобальный словарь identifikator_dict с логином\паролем пользователей (вместо базы данных)
из главного окна  захожу в ещё одно окно (регистрация пользователя)
там в функции я добавляю элемент в словарь, но он не добавляется

вот код этого окна:

class registration_user(QWidget):
   def init(self, parent=None, ):
       super().init(parent, Qt.Window)
       self.init_reg()

   def init_reg(self):
       box = QVBoxLayout()
       hor_box = QHBoxLayout()
       
       name_label = QLabel('enter your name')
       self.name_edit = QLineEdit()
       pass_label = QLabel('your password')
       self.pass_edit = QLineEdit()
       self.regg = QPushButton('Registration')

       
       box.addWidget(name_label)
       box.addWidget(self.name_edit)
       box.addWidget(pass_label)
       box.addWidget(self.pass_edit)
       box.addWidget(self.regg)

       hor_box.addStretch(1)
       hor_box.addLayout(box)
       hor_box.addStretch(1)
     
       self.regg.pressed.connect(self.registr)

       self.setLayout(hor_box)
       self.show()


   def registr(self):
       push = QMessageBox()
       if self.name_edit not in identifikator_dict:
           identifikator_dict[self.name_edit] = self.pass_edit
           push.setText('registration complited!')
       else:
           push.setText('this name is already in use')
       push.setStandardButtons(QMessageBox.Ok)
       push.exec()
источник

R3

Rud 356 in Сообщество Python Программистов
krau5
хмм, но думаю, что если разделить это отдельно на два проекта, как фронт и бек, то это хорошо
1. удобнее будет редачить
2. читабельнее

но вижу минусы в виде
1. блять, слишком просто, чувство, будто в чем-то есть подвох
2. надо запускать 2 процесса, чтобы они работали параллельно, не думаю, что это хорошая практика
Каких два процесса?
источник

k

krau5 in Сообщество Python Программистов
Alexander
да, но в продакшне делается чуть иначе. твой фронт должен быть собран в статический бандл и лежать как обычный JS в рамках локейшна nginx'a. В том же nginx либо на отдельном порту либо на отдельном локейшне организуется proxy_pass в сторону flask-бекенда, который может быть как на dev-сервере самого фласка (не надо так делать), так и на gunicornd wsgi сокете
тэк, то есть я должен обрать фронт в бандл и закинуть его в какой-то нгинкс
источник

k

krau5 in Сообщество Python Программистов
Дмитрий
вопрос по pyqt
у меня есть глобальный словарь identifikator_dict с логином\паролем пользователей (вместо базы данных)
из главного окна  захожу в ещё одно окно (регистрация пользователя)
там в функции я добавляю элемент в словарь, но он не добавляется

вот код этого окна:

class registration_user(QWidget):
   def init(self, parent=None, ):
       super().init(parent, Qt.Window)
       self.init_reg()

   def init_reg(self):
       box = QVBoxLayout()
       hor_box = QHBoxLayout()
       
       name_label = QLabel('enter your name')
       self.name_edit = QLineEdit()
       pass_label = QLabel('your password')
       self.pass_edit = QLineEdit()
       self.regg = QPushButton('Registration')

       
       box.addWidget(name_label)
       box.addWidget(self.name_edit)
       box.addWidget(pass_label)
       box.addWidget(self.pass_edit)
       box.addWidget(self.regg)

       hor_box.addStretch(1)
       hor_box.addLayout(box)
       hor_box.addStretch(1)
     
       self.regg.pressed.connect(self.registr)

       self.setLayout(hor_box)
       self.show()


   def registr(self):
       push = QMessageBox()
       if self.name_edit not in identifikator_dict:
           identifikator_dict[self.name_edit] = self.pass_edit
           push.setText('registration complited!')
       else:
           push.setText('this name is already in use')
       push.setStandardButtons(QMessageBox.Ok)
       push.exec()
скатерть, засунь ты это в пастебин
источник

A

Alexander in Сообщество Python Программистов
krau5
тэк, то есть я должен обрать фронт в бандл и закинуть его в какой-то нгинкс
не ну ты можешь его и в express запустить, но это не круто
источник

k

krau5 in Сообщество Python Программистов
Rud 356
Каких два процесса?
ну тип ты запускаешь флэск и запускаешь вуй
источник

k

krau5 in Сообщество Python Программистов
Alexander
не ну ты можешь его и в express запустить, но это не круто
не, жс в плане бека хойня, не хочю
источник

A

Alexander in Сообщество Python Программистов
т.е. то что тебе дает npm run start (запуск дев сервера) - на этом не надо запускать фронт
источник

A

Alexander in Сообщество Python Программистов
это онли для отладки
источник

R3

Rud 356 in Сообщество Python Программистов
Не ебу кто вуй ваш такой, но по идее он бахается у клиента, а не на сервере
источник

R3

Rud 356 in Сообщество Python Программистов
Жоэс жи
источник

A

Alexander in Сообщество Python Программистов
потом делай npm run build и собранный build кидай в root nginx'a
источник