一个简单的Web开发案例的概述,并提供关键代码片段,你可以根据这些片段在你的本地环境中搭建和运行它。
案例概述
我们将构建一个简单的待办事项(Todo List)应用。这个应用将允许用户添加、查看和删除待办事项。我们将使用Python的Flask框架作为后端,HTML和JavaScript(使用jQuery简化DOM操作)作为前端。
步骤 1: 设置环境
首先,确保你的机器上安装了Python和pip。然后,使用pip安装Flask:
pip install flask
步骤 2: 创建后端
在你的工作目录中,创建一个名为app.py
的文件,并添加以下代码:
from flask import Flask, request, jsonify
app = Flask(__name__)
todos = []
@app.route('/')
def index():
return '''
<!doctype html>
<html>
<head><title>Todo List</title></head>
<body>
<h1>Todo List</h1>
<ul id="todo-list">
{% for todo in todos %}
<li>{{ todo }}</li>
{% endfor %}
</ul>
<form action="/add" method="post">
<input type="text" name="todo" placeholder="Add new todo">
<button type="submit">Add</button>
</form>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function() {
function fetchTodos() {
$.getJSON('/todos', function(data) {
$('#todo-list').empty();
data.forEach(function(todo) {
$('#todo-list').append('<li>' + todo + '</li>');
});
});
}
$('form').submit(function(e) {
e.preventDefault();
var todo = $('input[name="todo"]').val();
$.post('/add', {todo: todo}, function() {
fetchTodos();
$('input[name="todo"]').val('');
});
});
fetchTodos();
});
</script>
</body>
</html>
'''
@app.route('/todos', methods=['GET'])
def get_todos():
return jsonify(todos)
@app.route('/add', methods=['POST'])
def add_todo():
todo = request.form['todo']
if todo:
todos.append(todo)
return jsonify({'status': 'success'})
if __name__ == '__main__':
app.run(debug=True)
注意:上面的代码将前端和后端混合在同一个文件中,这在实际开发中是不推荐的。但为了简化示例,我们在这里这样做。
步骤 3: 运行应用
在命令行中,运行app.py
文件:
python app.py
然后,在浏览器中打开http://127.0.0.1:5000/
,你应该能看到一个简单的待办事项列表,可以添加新的待办事项。
注意事项
- 这个示例使用了Flask的模板渲染功能来渲染HTML,但这里为了简化,我们将HTML直接写在了Python代码中。
- 我们使用了jQuery来简化AJAX请求和DOM操作。
- 这个示例没有实现待办事项的删除功能,但你可以根据
add_todo
函数的逻辑来添加它。 - 真实环境中,待办事项应该存储在数据库中,而不是像这里一样存储在内存中的列表中。
- 安全性、错误处理和性能优化在这个示例中都没有涉及,但在实际开发中是非常重要的。