• Не работает selenium на heroku?

    @Mikkkch Автор вопроса
    Dr. Bacon, то есть сайт не определил что я его с локала паршу, а с хероку определил? этот вариант сразу отпадает.
  • Не работает selenium на heroku?

    @Mikkkch Автор вопроса
    Dr. Bacon, сайт, на который я бросаю запрос не принимает его если я отправляю его без юзер агента. Возможно драйвер, который я использую на локале использует моего агента, а тот, что на хероку нет?
  • Не работает selenium на heroku?

    @Mikkkch Автор вопроса
    Dr. Bacon, с локала может, а с хероку нет?я кидаю валидный адрес
  • Try: raise except:?

    @Mikkkch Автор вопроса
    Влад Григорьев, а что Вам мешает не обрабатывать ошибки в своем коде вообще? Ну пусть падает там программа, тем более пользователь сам увидит причину того, что его бэкенд регистрировать не хочет.
  • Try: raise except:?

    @Mikkkch Автор вопроса
    Сергей Горностаев, почитал, спасибо. Попробую отрефакторить код таким образом, чтобы можно было пройтись ифами и сообщить пользователю о местах, в которых он ошибся.
  • Try: raise except:?

    @Mikkkch Автор вопроса
    Сергей Горностаев, можно конечно сделать заготовку контекста и потом ифами пройтись по всем возможным ситуациям и в каждом определенном случае создавать новый ключ с деталями ошибки, а потом рендирить, но как понять, что пользователь сделал что-то не так?Строку передавать?
  • Try: raise except:?

    @Mikkkch Автор вопроса
    Сергей Горностаев, если не использовать исключения, то пойдет дублирование кода, в котором мне каждый раз придется пересобирать контекст. Зачем ожидать IntegrityError, когда можно достать пользователя из базы, если такой уже есть?Все так делают, даже создатель фреймворка, на котором я пишу. Тем более, если обработать IntegrityError, то придется два разных обработчика заводить.
  • Try: raise except:?

    @Mikkkch Автор вопроса
    и если в этой вьюшке я try except'ы не проставлю, а функции, которые валидируют введенные пользователем данные возвращают именно ValueError, то программа вместо того, чтобы вернуть пользователю на фронтенд его оплошности, закроется и хана потоку выполнения
  • Try: raise except:?

    @Mikkkch Автор вопроса
    немного не понял. В моем случае, если я добавлю пользователя с именем, которое уже присутствует, от базы выпадут ошибки по типу интегрити еррор, а если точнее, то не от базы, а от либы, которая осуществляет инсерты.
  • Try: raise except:?

    @Mikkkch Автор вопроса
    Рональд Макдональд, например если я хочу в одном месте выловить ошибку и вернуть ее пользователю.
    try:
    
            if await consumersCRUD.get(form_data.username):
                raise ValueError('Consumer with same username already exist.')
    
            await security.validate_username(form_data.username)
            await security.validate_password(form_data.password, form_data.confirm_password)
    
        except ValueError as details:
    
            context = {
                'request': request,
                'fields':  ConsumerCreation.__fields__.values(),
                'error':   details
            }
    
            return auth_templates.TemplateResponse('sign-up.html', context=context)
  • Как правильно внедрить DEBUG в веб-проект?

    @Mikkkch Автор вопроса
    Смотрите какая ситуация, я сделал так:
    if __name__ == '__main__':
    
        if DEBUG and not __debug__:
            raise ValueError(
                'The value of the __debug__ variable must match the DEBUG flag'
            )
    
        uvicorn.run(app, host="0.0.0.0", port=8000)


    Но если DEBUG и __debug__ будут установлены в False, то есть проверка при запуске будет успешной, а отсюда
    if DEBUG:
                columns = [column.name for column in self.storing_table.columns]
    
                passed_parameters = data.keys()
    
                for parameter in passed_parameters:
                    assert parameter in columns, \
                        f'The table called {self.storing_table.name} does not contain the column called {parameter}.'
    
                for column in columns:
                    assert column in passed_parameters, \
                        f'The list of arguments passed to the {self.storing_table.name} ' \
                        f'table contains no argument for the {column} column.

    мы уберем лишнюю проверку, то этот метод в любом случае будет вызываться при вызове метода наследника, инсертящего в таблицу, а это значит, что и лишний раз будут объявлены переменные.
  • Как правильно внедрить DEBUG в веб-проект?

    @Mikkkch Автор вопроса
    qid00000000, а где это лучше сделать? Не буду же я проверку, не относящуюся к CRUD внедрять в этот же метод? В main файл закинуть?
  • Стоит ли использовать fasthttp для создания библиотеки по работе с json API?

    @Mikkkch Автор вопроса
    Ivan Shalganov, спасибо. В любом случае меня, да я думаю и многих остальных преследует синдром, при котором ты возвращаешься к своему коду и с удивленным лицом задаешь сам себе вопрос насчет того какой кретин это все накалякал)
  • Стоит ли использовать fasthttp для создания библиотеки по работе с json API?

    @Mikkkch Автор вопроса
    Спасибо за ответ! Но я полагаю, что Вы не совсем поняли в какой области я задействую эту либу. Я не пишу сервера, я обращаюсь к API , которая возвращает json и выгружаю тело в структуру. Простейшие действия, но структуры большие, чтобы как можно лучше ускорить свою либу я задействовал фхттп и jsoniter вместо стандартных решений. Если с такой точки зрения смотреть, то как Вы считаете?
  • Как использовать context при работе с API, используя fasthttp?

    @Mikkkch Автор вопроса
    Используя стандартный net/http я просто вызываю метод NewRequestWithContext и первым параметром передаю полученный от пользователя контекст так, чтобы обращение в стороннему API происходило под каким то контекстом, естественно, что это объект реализующий context.Context. Этим вопросом я пытался найти альтернативу, с помощью которой так же можно было бы реализовать выполнение методов в моем коде. Вы посоветовали RequestCtx, но что-то я, почитав доки, малейшего представления не приобрел. Не могли бы ли Вы, пожалуйста, подсказать мне подробнее, каким образом я мог бы воспользоваться этой структурой?
  • Как Unmarshal определяет в какое поле структуры сбросить данные из json?

    @Mikkkch Автор вопроса
    А если я такого не хочу, то я могу исключить метки из моего кода вообще, не волнуясь за то, что полученные данные будут распределены по полям неправильно?
  • Как правильно организовать микросервисную архитектуру средствами языка Golang?

    @Mikkkch Автор вопроса
    Роман Мирр, я реализовывал это разными способами, сохранял в файле айдишник, а потом в потоке сверял, сохранял в базу и т.д и т.п. Но меня интересует наиболее лучший способ организации.