這篇文章帶給大家的內容是關於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>
第二步:改寫html文件,實現分頁顯示,重新定義一個巨集文件
{# marco_page.html#} {% macro paginate(fname, todos) %} {# dataObj 就是views函数中传递过来的Paginate实例化的对象;#}
第三步,清單顯示的範本文件呼叫分頁顯示列
{% 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()
在terminal終端執行命令
python manage.py db init python manage.py db migrate -m '添加日志信息' python manage.py db upgrade
第二步,給路由和對應視圖函數加上採集的日誌資訊,以新增清單任務為例
修改狀態和刪除任務也加上日誌訊息,這裡省略
userlog = Userlog(ip=request.remote_addr, area="西安", user_id=1, content="添加任务%s" %(name)) db.session.add(userlog) db.session.commit()#
以上是python實作Todo清單的程式碼範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!