2015-09-21 2 views
-1

Я начинаю изучать ФЛАСК. Я создаю приложение, и для него я создал пользовательскую модель БД и форму HTML/JS, которая принимает входные данные. Я хочу использовать информацию о форме для создания новой записи в базе данных, но я не уверен, как это сделать. Я пытался сделать этоФлажок Добавить запись БД с использованием формы

@app.route('/add_to_db') 
def add_to_db(): 
    email = request.form['email'] 
    activated = 0; 
    user = models.User(email= email, activated = 0) 
    db.session.add(user) 
    db.session.commit() 

HTML код:

<form onsubmit="return validateEmail(document.getElementById('email').value)" action="{{ url_for("add_to_db") }}" method="post"> 
    Please input your email adress: <input id="email"> 
    <input type="submit"> 
</form> 
<script> 
    function validateEmail(email) { 
     var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 
     return(re.test(email)); 
    } 
</script> 

Но это дало мне 405 Метод не допускается ошибка в.

+0

Не могли бы вы также разместить html-код? –

ответ

1

Ошибка 405 означает, что «метод не разрешен». Когда вы отправляете данные формы, вы используете запрос POST и должны разрешать POST-запросы. По умолчанию разрешены только запросы GET. Измените строку @app.route('/add_to_db') на @app.route('/add_to_db', methods=['POST']).

Смежные вопросы