待辦事項列表是我們日常生活中常用的一種工具。Python 3提供了一些很好用的模塊,可以幫助我們實現簡潔的待辦事項列表,這讓我們可以更加高效地完成任務。在本文中,我們將對如何使用Python 3創建待辦事項列表進行詳細闡述。
一、安裝必要的軟體包
在使用Python 3創建待辦事項列表之前,我們需要先安裝必要的軟體包。其中最重要的是「Flask」和「Flask SQLite3」,它們可以幫助我們管理資料庫。
pip install Flask
pip install Flask SQLite3
二、創建資料庫
在Flask SQLite3中創建資料庫非常簡單,我們可以首先創建一個空的「todo.db」文件,然後使用SQLite3的命令來創建資料庫表。在本例中,我們將創建一個名為「tasks」的表,該表將包含任務的詳細信息。
create table tasks(id integer primary key autoincrement, task text not null, due_date date not null);
三、創建Python文件
創建Python文件是實現待辦事項列表的主要部分。在此基礎上,我們將根據以下步驟實現待辦事項列表。
四、設置Flask應用程序
首先,我們需要在Python文件中設置Flask應用程序,並在此過程中導入必要的庫。
from flask import Flask, render_template, request, url_for, redirect, flash
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///todo.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.secret_key = 'mysecretkey'
db = SQLAlchemy(app)
五、創建任務的類
使用Flask SQLAlchemy創建任務類非常簡單。我們只需要定義每個任務類的欄位以及它們的屬性。
class Task(db.Model):
__tablename__ = 'tasks'
id = db.Column(db.Integer, primary_key=True)
task = db.Column(db.String(200), nullable=False)
due_date = db.Column(db.Date, nullable=False)
def __init__(self, task, due_date):
self.task = task
self.due_date = due_date
六、創建路由
使用Python和Flask,我們可以輕鬆創建各種路由。下面的示例顯示了如何創建一個路由來添加新任務。
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
task = request.form['task']
date = request.form['due-date']
new_task = Task(task, date)
db.session.add(new_task)
db.session.commit()
flash('任務已添加')
return redirect(url_for('index'))
else:
tasks = Task.query.order_by(Task.due_date).all()
return render_template('index.html', tasks=tasks)
七、創建HTML模板
最後,我們需要創建一個HTML模板來顯示待辦事項。在本例中,我們將使用Bootstrap 4來處理樣式。下面的示例顯示了如何使用Jinja 2模板引擎在Flask應用程序中創建HTML模板。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>待辦事項列表</title>
<link rel="stylesheet" href="{{url_for('static',filename='css/bootstrap.min.css')}}"/>
</head>
<body>
<div class="container">
<div class="row mt-3">
<div class="col-md-6">
<form method="POST" action="/">
<div class="form-group">
<label>任務名稱</label>
<input type="text" name="task" class="form-control" required/>
</div>
<div class="form-group">
<label>截止日期</label>
<input type="date" name="due-date" class="form-control" required/>
</div>
<button type="submit" class="btn btn-primary">添加任務</button>
</form>
{% with messages = get_flashed_messages() %}
{% if messages %}
{% for message in messages %}
<br>
<div class="alert alert-primary">{{ message }}</div>
{% endfor %}
{% endif %}
{% endwith %}
</div>
<div class="col-md-6">
<table class="table table-striped">
<thead>
<tr>
<th>任務名稱</th>
<th>截止日期</th>
</tr>
</thead>
<tbody>
{% for task in tasks %}
<tr>
<td>{{ task.task }}</td>
<td>{{ task.due_date.strftime('%d-%m-%Y') }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
<script src="{{url_for('static', filename='js/bootstrap.min.js') }}"></script>
</body>
</html>
八、總結
在這篇文章中,我們使用Python 3和Flask框架來創建了簡單的待辦事項列表。我們通過以下步驟實現了這一點:安裝必要的軟體包,創建資料庫,編寫Python文件,設置Flask應用程序,創建任務類,創建路由,以及創建HTML模板。這個項目可以用於加深我們對Python 3和Flask框架的理解,並幫助我們更高效地處理任務。
原創文章,作者:UDVHA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317188.html