The content of this article is about the code example of implementing Todo list in python. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Add paging function
The first step is to rewrite the view function, and perform paging display by querying the database data
# 修改清单显示的视图函数 @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>
The second step : Rewrite the html file, realize paging display, and redefine a macro file
{# marco_page.html#} {% macro paginate(fname, todos) %} {# dataObj 就是views函数中传递过来的Paginate实例化的对象;#}
-
{# 判断是否由上一页, #}
{% if todos.has_prev %}
{# /list/4/ ===> /list/3/#}
- 前一页 {% else %}
- 前一页 {% endif %} {# 根据从数据库中查询的数据, 来确定分页的个数, 使用for循环 #} {# 返回一个迭代器, 如果有100页, 薄嗯不会返回100个数字, 而是1 2 。。。。 99 100 #} {% for page in todos.iter_pages(right_current=2) %} {# page: 要生成html代码的页数, todos.page: 用户希望显示数据的页数 #} {% if page == todos.page %}
- {{ page }} {% elif page == None %}
- ... {% else %}
- {{ page }} {% endif %} {% endfor %} {# 判断是否有后一页 #} {% if todos.has_next %} {# /list/4/ ===> /list/3/#}
- 后一页 {% else %}
- 后一页 {% endif %}
{% endmacro %}
The third step, the template file displayed in the list calls the paging display bar
{% from 'macro_page.html' import paginate %} {{ paginate('todo_list', todos) }}
Add log collection function
The first step is to add a new database table Userlog to the original database operation file to store the modification and editing log of the task
Enter the original database When adding again, database migration is required.
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:>
Make sure you have a file about database migration. The basic code is as follows
# 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()
Execute the command in the terminal
python manage.py db init python manage.py db migrate -m '添加日志信息' python manage.py db upgrade
The second step is to add routing and corresponding view functions Log information collected on, taking adding a list task as an example
Modify status and delete tasks also add log information, omitted here
userlog = Userlog(ip=request.remote_addr, area="西安", user_id=1, content="添加任务%s" %(name)) db.session.add(userlog) db.session.commit()
The above is the detailed content of Code example of implementing Todo list in python. For more information, please follow other related articles on the PHP Chinese website!

To maximize the efficiency of learning Python in a limited time, you can use Python's datetime, time, and schedule modules. 1. The datetime module is used to record and plan learning time. 2. The time module helps to set study and rest time. 3. The schedule module automatically arranges weekly learning tasks.

Python excels in gaming and GUI development. 1) Game development uses Pygame, providing drawing, audio and other functions, which are suitable for creating 2D games. 2) GUI development can choose Tkinter or PyQt. Tkinter is simple and easy to use, PyQt has rich functions and is suitable for professional development.

Python is suitable for data science, web development and automation tasks, while C is suitable for system programming, game development and embedded systems. Python is known for its simplicity and powerful ecosystem, while C is known for its high performance and underlying control capabilities.

You can learn basic programming concepts and skills of Python within 2 hours. 1. Learn variables and data types, 2. Master control flow (conditional statements and loops), 3. Understand the definition and use of functions, 4. Quickly get started with Python programming through simple examples and code snippets.

Python is widely used in the fields of web development, data science, machine learning, automation and scripting. 1) In web development, Django and Flask frameworks simplify the development process. 2) In the fields of data science and machine learning, NumPy, Pandas, Scikit-learn and TensorFlow libraries provide strong support. 3) In terms of automation and scripting, Python is suitable for tasks such as automated testing and system management.

You can learn the basics of Python within two hours. 1. Learn variables and data types, 2. Master control structures such as if statements and loops, 3. Understand the definition and use of functions. These will help you start writing simple Python programs.

How to teach computer novice programming basics within 10 hours? If you only have 10 hours to teach computer novice some programming knowledge, what would you choose to teach...

How to avoid being detected when using FiddlerEverywhere for man-in-the-middle readings When you use FiddlerEverywhere...


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Linux new version
SublimeText3 Linux latest version

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver Mac version
Visual web development tools

Atom editor mac version download
The most popular open source editor