一个简单的Web开发案例的概述,并提供关键代码片段,你可以根据这些片段在你的本地环境中搭建和运行它。


案例概述

我们将构建一个简单的待办事项(Todo List)应用。这个应用将允许用户添加、查看和删除待办事项。我们将使用Python的Flask框架作为后端,HTML和JavaScript(使用jQuery简化DOM操作)作为前端。


步骤 1: 设置环境

首先,确保你的机器上安装了Python和pip。然后,使用pip安装Flask:

pip install flask
  • 1.
步骤 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)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.

注意:上面的代码将前端和后端混合在同一个文件中,这在实际开发中是不推荐的。但为了简化示例,我们在这里这样做。

步骤 3: 运行应用

在命令行中,运行app.py文件:

python app.py
  • 1.

然后,在浏览器中打开http://127.0.0.1:5000/,你应该能看到一个简单的待办事项列表,可以添加新的待办事项。


注意事项

这个示例使用了Flask的模板渲染功能来渲染HTML,但这里为了简化,我们将HTML直接写在了Python代码中。

我们使用了jQuery来简化AJAX请求和DOM操作。

这个示例没有实现待办事项的删除功能,但你可以根据add_todo函数的逻辑来添加它。

真实环境中,待办事项应该存储在数据库中,而不是像这里一样存储在内存中的列表中。

安全性、错误处理和性能优化在这个示例中都没有涉及,但在实际开发中是非常重要的。