Code example of implementing Todo list in python
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!

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

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



HTML5 is a key technology for building modern web pages, providing many new elements and features. 1. HTML5 introduces semantic elements such as, , etc., which enhances web page structure and SEO. 2. Support multimedia elements and embed media without plug-ins. 3. Forms enhance new input types and verification properties, simplifying the verification process. 4. Offer offline and local storage functions to improve web page performance and user experience.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

Golang is more suitable for high concurrency tasks, while Python has more advantages in flexibility. 1.Golang efficiently handles concurrency through goroutine and channel. 2. Python relies on threading and asyncio, which is affected by GIL, but provides multiple concurrency methods. The choice should be based on specific needs.

Golang and Python each have their own advantages: Golang is suitable for high performance and concurrent programming, while Python is suitable for data science and web development. Golang is known for its concurrency model and efficient performance, while Python is known for its concise syntax and rich library ecosystem.

Python is highly favored for its simplicity and power, suitable for all needs from beginners to advanced developers. Its versatility is reflected in: 1) Easy to learn and use, simple syntax; 2) Rich libraries and frameworks, such as NumPy, Pandas, etc.; 3) Cross-platform support, which can be run on a variety of operating systems; 4) Suitable for scripting and automation tasks to improve work efficiency.

ChooseGolangforhighperformanceandconcurrency,idealforbackendservicesandnetworkprogramming;selectPythonforrapiddevelopment,datascience,andmachinelearningduetoitsversatilityandextensivelibraries.
