Колба mail api, не получая запрос varialbe правильно - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь получить доступ к запросу из формы HTML и отправить его по почте, но я получаю письмо со значением "Нет",

вот мой код:

@app.route("/about", methods=['GET', 'POST'])
def send_message():
     name = request.form.get('name')
     msg = Message(
       subject='Hello ' + str(name),
       sender='kristofferlocktolboll@gmail.com',
       recipients=
           ['kristofferlocktolboll@gmail.com'],
       html=render_template("about.html"))
    mail.send(msg)
    confirm_msg = "Your message has been sent!"
    return render_template("about.html", confirm_msg=confirm_msg)

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

РЕДАКТИРОВАТЬ:

вот мой HTML-код, я пробовал использовать как метод post, так и get, но ничего не работает.

  <form action="/send_message" method="post">
                First name: <br>
                <input type="text" name="name" size="35"><br>
                  Last name:<br>
                 <input type="text" name="lastname" size="35"><br>
                    Email-address: <br>
                 <input type="email" name="email" size="35"><br>
                 Phone-number: <br>
                 <input type="text" name="phone" size="35"><br>
                Enter your message: <br>
                 <textarea type="text" name="message" rows="7" cols="40"></textarea><br>

            </form>

РЕДАКТИРОВАТЬ 2:

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

<p>{{confirm_msg}}</p>

1 Ответ

0 голосов
/ 25 июня 2018

Сначала вы должны добавить CSRF_TOKEN для вашей формы: <form method="post" action="/send_message"> <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" /> ... ..... </form>

Также вы можете сказать нам, на какой странице вы пытаетесь увидеть <p>{{confirm_msg}}</p>?

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