이 문서의 내용은 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()
터미널에서 명령어를 실행하세요
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!