Обеспечение отображения пользовательской страницы ошибок при наличии ошибки - PullRequest
0 голосов
/ 20 сентября 2019

Я определил метод validate_date (), который проверяет, имеет ли дата формат YYYY-MM-DD, и если да, то запрос к API может пройти.У меня также есть другая функция validate_params (), которая проверяет, дано ли правильное имя предмету из списка предметов.Оба эти метода вызываются в операторе if, но метод render_template, который используется в случае сбоя, не вызывается

Я рассмотрел большинство похожих вопросов о переполнении стека, но безрезультатно

@app.errorhandler(422)
def validate_date(date_text):
    if date_text != datetime.datetime.strptime(date_text, '%Y-%m-%d').strftime('%Y-%m-%d'):
        raise ValueError("""Incorrect date given, your date must be in the format YYYY-MM-DD, also make sure the month 
        does not exceed '12'.""")
    date_text = datetime.datetime.strptime(date_text, '%Y-%m-%d')
    if date_text.year >= 2019:
        return date_text
    else:
        return render_template('date_error_handler.html'), 422
@app.errorhandler(404)
def validate_params(params):
    paramas = ['Phone', 'keys', 'wallet', 'Mouse']
    if  param not in params:
        raise ValueError('Check your telescope name in the url')
    else:
        return render_template('item_error_handler.html')
def API('/my_api')
request_param_start_date = request.args['start_date']
request_param_end_date = request.args['end_date']
request_param_telescope_name = request.args['params']

if validate_date(request_param_start_date) < validate_date(request_param_end_date) and\
            validate_telescope(request_param_telescope_name):

# call the API

Это мой код, но он работает, даже если имя моего параметра неверное.Чего мне не хватает?

Когда 'start_date' или 'end_date' не в правильном формате YYYY-MM-DD или 'params' отсутствует в списке, шаблоны должны отображаться

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...