from flask import Flask,session,render_template,request,session
from flask_session import Session
app = Flask(__name__)
app.config["SESSION_PERMANENT"] = False
app.config["SESSION_TYPE"] = "filesystem"
Session(app)
Установка заметок в пустой массив:
notes = []
@app.route("/", methods = ["GET" , "POST"])
#this is the function for submit button
def index():
if request.method == "POST:
note = request.form.get("note")
notes.append(note)
Заметка получает HTML-значение заметки, а затем заметки добавляются к заметке:
return render_template("index.html",notes = notes)
@app.route("/",methods =["GET","POST"])
#this is the function for delete function
def delete():
if request.method = = "POST":
number = request.form.get("number")
notes.remove(notes[number])
return render_template("index.html" , notes = notes)
Я создаю форму, которая принимает или записывает, что я ввожу как текст в разделе формы, который имеет индекс функции.
Другая функция предназначена для кнопки удаления. Он также имеет форму в HTML, в которую можно вводить только числа.
Если я выберу номер 1, он должен удалить первый элемент в списке, но здесь этого не происходит.
Раздел HTML приведен ниже:
<!DOCTYPE html>
<html>
<head>
<title>Hello world</title>
</head>
<body>
<h1>Notebook</h1>
<form action = "{{url_for('index')}}" method = "POST">
<input type = "text" name = "note" placeholder = "Enter the input">
<button> Submit </button>
</form>
<form action = "{{url_for('delete')}}" method = "POST">
<input type = "number" name = "number">
<button>Delete</button>
</form>
<ul> {%for note in notes%}
<li>{{note}}</li>
{%endfor%}
</ul>
</body>
</html>
}
🤔 А знаете ли вы, что...
Python поддерживает многозадачность и многопоточность.
Ваш код кажется немного запутанным, поскольку для индекса есть 2 маршрута приложений, и оба содержат почтовый запрос. Попробуйте что-то вроде следующего: у меня нет доступа ко всему вашему коду, поэтому он не протестирован, при необходимости измените его. Я уверен, что вы поняли:
@app.route("/", methods = ["GET" , "POST"])
def index():
if request.method == "POST:
if request.form.post['action'] == 'Append':
note = request.form.get("note")
notes.append(note)
if request.form.post['action'] == 'Delete':
number = request.form.get("number")
notes.remove(notes[number])
return render_template("index.html" , notes = notes)
в вашем html поместите кнопки в нужные места примерно так:
<input type = "submit" name = "action" value = "Append">
<input type = "submit" name = "action" value = "Delete">