Почему мой объект «Flask» не имеет атрибута «get» [duplicate]

$name = $_POST['name'];
$email = $_POST['email'];
$reciver = '/* Reciver Email address */';
if (filter_var($reciver, FILTER_VALIDATE_EMAIL)) {
    $subject = $name;
    // To send HTML mail, the Content-type header must be set.
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= 'From:' . $email. "\r\n"; // Sender's Email
    //$headers .= 'Cc:' . $email. "\r\n"; // Carbon copy to Sender
    $template = '<div style="padding:50px; color:white;">Hello ,<br/>'
        . '<br/><br/>'
        . 'Name:' .$name.'<br/>'
        . 'Email:' .$email.'<br/>'
        . '<br/>'
        . '</div>';
    $sendmessage = "<div style=\"background-color:#7E7E7E; color:white;\">" . $template . "</div>";
    // Message lines should not exceed 70 characters (PHP rule), so wrap it.
    $sendmessage = wordwrap($sendmessage, 70);
    // Send mail by PHP Mail Function.
    mail($reciver, $subject, $sendmessage, $headers);
    echo "Your Query has been received, We will contact you soon.";
} else {
    echo "<span>* invalid email *</span>";
}
28
задан davidism 20 April 2016 в 17:32
поделиться

1 ответ

Если вы хотите сделать запрос к вашему приложению, используйте test_client .

c = app.test_client()
response = c.get('/test/url')
# test response

Если вы хотите протестировать код, который использует контекст приложения (current_app, g, url_for), нажмите app_context .

with app.app_context():
    # test your app context code

Если вам нужен тестовый код, который использует контекст запроса (request session), нажмите test_request_context .

with current_app.test_request_context():
    # test your request context code

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

>>> ctx = app.app_context()
>>> ctx.push()

Flask-Script или новый Flask cli автоматически будут использовать контекст приложения при запуске команды shell.


Flask-Testing - полезная библиотека, содержащая помощники для тестирования приложений Flask.

64
ответ дан dthor 21 August 2018 в 14:05
поделиться
  • 1
    Да, я обернул функции, которые не были перенаправлены и не связаны с Flask, которые нуждаются в данных запроса для работы;) с app_app.test_request_context(): и действительно сработали. – erm3nda 17 June 2016 в 12:06
  • 2
    Отличное резюме различных контекстов (тест, приложение, запрос). – Jason Strimpel 3 May 2018 в 09:00
Другие вопросы по тегам:

Похожие вопросы: