Heim >Backend-Entwicklung >Python-Tutorial >Codebeispiel für die Implementierung der Todo-Liste in Python
Der Inhalt dieses Artikels befasst sich mit dem Codebeispiel für die Implementierung der Todo-Liste in Python. Ich hoffe, dass er für Freunde hilfreich ist.
Paging-Funktion hinzufügen
Der erste Schritt: Die Ansichtsfunktion neu schreiben, die Datenbankdaten abfragen und die Paging-Anzeige durchführen
# 修改清单显示的视图函数 @app.route('/list/') @app.route('/list/<page>') def todo_list(page=1): todos = Todo.query.paginate(page,5) parts = Department.query.all() return render_template('todo_list.html',todos=todos,parts=parts)</page>
Der zweite Schritt: Schreiben Sie die HTML-Datei neu, um eine Seitenanzeige zu erreichen, und definieren Sie eine Makrodatei neu
{# marco_page.html#} {% macro paginate(fname, todos) %} {# dataObj 就是views函数中传递过来的Paginate实例化的对象;#}
Im dritten Schritt ruft die in der Liste angezeigte Vorlagendatei die Seitenanzeigeleiste
{% from 'macro_page.html' import paginate %} {{ paginate('todo_list', todos) }}auf
Protokollsammlungsfunktion hinzufügen
Der erste Schritt besteht darin, eine neue Datenbanktabelle Userlog zur ursprünglichen Datenbankbetriebsdatei hinzuzufügen, um das Änderungs- und Bearbeitungsprotokoll der Aufgabe zu speichern
Hinzufügen Die ursprüngliche Datenbank Beim erneuten Hinzufügen ist eine Datenbankmigration erforderlich.
class Userlog(db.Model): id = db.Column(db.Integer, autoincrement=True, primary_key=True) add_time = db.Column(db.DateTime, default=datetime.now()) # 创建时间 ip = db.Column(db.String(200), nullable=False) # 登录ip content = db.Column(db.String(200)) area = db.Column(db.String(200)) # 用户登录地点 user_id = db.Column(db.Integer, db.ForeignKey('user.id')) # 外键 def __repr__(self): return '<userlog:>' % (self.ip)</userlog:>
Stellen Sie sicher, dass Sie eine Datei zur Datenbankmigration haben. Der Basiscode lautet wie folgt:
# manage.py from flask_migrate import MigrateCommand, Migrate from flask_script import Shell,Manager from todo_models import app,db,User,Department,Todo manager = Manager(app) migrate = Migrate(app,db) manager.add_command('db',MigrateCommand) if __name__ == '__main__': manager.run()
Führen Sie den Befehl im Terminal aus
python manage.py db init python manage.py db migrate -m '添加日志信息' python manage.py db upgrade
Der zweite Schritt besteht darin, Routing hinzuzufügen und entsprechende Ansichtsfunktionen Die oben gesammelten Protokollinformationen, am Beispiel des Hinzufügens einer Listenaufgabe
Status ändern und Aufgaben löschen fügen auch Protokollinformationen hinzu, die hier weggelassen werden
userlog = Userlog(ip=request.remote_addr, area="西安", user_id=1, content="添加任务%s" %(name)) db.session.add(userlog) db.session.commit()
Das obige ist der detaillierte Inhalt vonCodebeispiel für die Implementierung der Todo-Liste in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!