この記事の内容はPythonでTodoリストを実装するコード例についてですが、一定の参考価値はありますので、困っている友人は参考にしていただければ幸いです。
ページング関数の追加
最初のステップはビュー関数を書き換え、データベースのデータをクエリすることでページング表示を実行することです
# 修改清单显示的视图函数 @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>
2 番目のステップ: HTMLファイルを書き換えてページング表示を実現し、マクロファイルを再定義します
{# marco_page.html#} {% macro paginate(fname, todos) %} {# dataObj 就是views函数中传递过来的Paginate实例化的对象;#}
3番目のステップ、一覧に表示されているテンプレートファイルがページング表示バーを呼び出します
{% from 'macro_page.html' import paginate %} {{ paginate('todo_list', todos) }}
##ログ収集機能の追加
最初のステップは、タスクの変更および編集ログを保存するために、元のデータベース操作ファイルに新しいデータベース テーブル Userlog を追加することです。元のデータベースを入力してください。 再度追加する場合は、データベースの移行が必要です。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:>
# 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()
ターミナルでコマンドを実行します。
python manage.py db init python manage.py db migrate -m '添加日志信息' python manage.py db upgrade
2 番目のステップは、ルーティングを追加することです。および対応する表示関数 リスト タスクの追加を例として収集されたログ情報
ステータスの変更タスクと削除タスクでもログ情報が追加されます (ここでは省略します)userlog = Userlog(ip=request.remote_addr, area="西安", user_id=1, content="添加任务%s" %(name)) db.session.add(userlog) db.session.commit()
# #
以上がPythonでTodoリストを実装するコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。