📜  python项目教程——Python(1)

📅  最后修改于: 2023-12-03 15:19:36.858000             🧑  作者: Mango

Python项目教程

Python是一种高级编程语言,具有简单易学、可读性好、可扩展性强等优势,因此在软件开发领域被广泛使用。本项目教程旨在帮助初学者和中级程序员了解如何在Python中构建项目。

准备

在开始构建Python项目前,需要安装Python。建议使用Python 3.x版本,因为Python 2.x已经陆续停止支持,并且Python 3.x版本对于编码的要求更加严格,避免了一些常见的错误。

安装Python后,可以在命令行中输入以下命令来检查Python版本:

python --version

如果Python已经正确安装,将输出Python版本号。

步骤
1. 确定项目目标

在开始构建Python项目之前,需要确定项目目标。明确项目目标有助于您更好地规划项目,并掌握实施步骤。

在本教程中,我们将构建一个简单的Todo列表。该Todo列表将允许用户添加和编辑任务、标记任务完成和删除任务。

2. 安装需要的库

在Python中,有各种各样的第三方库可以使用,它们不仅节约了编写代码的时间,还可以为项目增添许多有用的功能。在构建我们的Todo列表时,我们需要安装如下库:

  • Flask:用于构建Web应用程序
  • SQLalchemy:用于在Python中构建SQL数据库

可以使用pip命令安装这两个库:

pip install Flask SQLalchemy

经过一段时间的下载和安装,这两个库就被安装在Python环境中了。

3. 创建项目文件结构

当库已安装后,需要创建项目文件结构。在项目根目录中创建以下文件和文件夹:

my_todo_list/
    app/
        static/
        templates/
        __init__.py
        models.py
        routes.py
    tests/
    config.py
    requirements.txt
    run.py

其中:

  • app/ 文件夹包含程序的主要代码,包括Flask应用程序、模型和路由等内容。
  • app/static/app/templates/ 文件夹将用于存储静态文件和HTML模板。
  • app/__init__.py 表示该文件夹是一个Python包。
  • app/models.py 将包含用于创建数据库中的表格的代码。
  • app/routes.py 将包含处理应用程序URL的代码。
  • tests/ 文件夹包含用于测试应用程序的所有测试文件。
  • config.py 存储应该放置哪个环境。例如,数据库的位置和可用性。
  • requirements.txt 包含了项目依赖的所有Python库。
  • run.py 启动应用程序。
4. 创建Flask应用程序

接下来,在app/__init__.py中编写代码以创建Flask应用程序:

# 导入相关库
from flask import Flask

# 创建app
app = Flask(__name__)

# 导入Flask视图
from app import routes

这里导入Flask库并使用它来创建一个名为“app”的Flask应用程序对象。然后,导入所有视图(在我们的例子中只有一个视图),这可以确保Flask应用程序与我们的路由有关联。

5. 创建HTML文件

在项目中,将使用HTML文件创建应用程序的外观。创建一个叫做index.html的文件,存储于app/templates/ 文件夹中:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>My Todo List</title>
    </head>
    <body>
        <h1>Welcome to My Todo List</h1>
    </body>
</html>

这个HTML文件只是一个简单的欢迎页面,这里将展示根据需要可以扩展的模板。

6. 定义路由

定义路由后,可以在指定URL时展示相应的HTML内容。在路由中,应将其与HTML文件相关联。

app/routes.py文件中添加以下代码:

# 导入相关库
from flask import render_template
from app import app

# 定义根路由
@app.route('/')
@app.route('/index')
def index():
    return render_template('index.html')

这里定义了两个路由:根路由和index路由。当用户访问这些URL中的任何一个时,都会返回一个展示index.html文件的函数。

7-8. 定义模型和数据库配置

app/models.py 文件中定义模型class. 在config.py 中设定数据库配置。

这里假设只包含一项,即“任务”,它应包含标记是否已完成,任务的具体信息和指定时间。

from app import db

class Task(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    content = db.Column(db.String(140))
    done = db.Column(db.Boolean)
    timestamp = db.Column(db.DateTime)

    def __repr__(self):
        return '<Task {}>'.format(self.content)
9. 创建并配置数据库

查询数据库和保存数据,需要在本地计算机上创建一个SQLite数据库,并配置我们的应用程序以连接该数据库。

config.py文件中添加以下代码:

import os
basedir = os.path.abspath(os.path.dirname(__file__))

class Config(object):
    # 配置秘钥
    SECRET_KEY = "YOUR SECRET KEY" #可任意设置

    #定义SQLalchemy配置
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
        'sqlite:///' + os.path.join(basedir, 'app.db')
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    DEBUG = True

这里配置了一个秘钥和一个SQLalchemy配置,将数据库放在与该应用程序同级别的目录下。

10. 创建应用

接下来,创建应用程序入口点run.py:

# 导入应用和配置
from app import app
from config import Config

# 运行应用
if __name__ == '__main__':
    app.run(debug=True)

这里启动了Flask应用程序。

11-12. 启动服务器并测试应用程序

在命令行窗口中转到项目中的目录(请确保在该目录中创建了Python虚拟环境),然后运行以下命令启动应用程序:

export FLASK_APP=run.py
flask run

把URL复制到浏览器器的地址栏中,然后按Enter键。如果一切正常,将会看到刚刚创建的“Welcome to My Todo List!”信息显示在网页上,这表示应用程序正常运行。

总结

我们通过几个简单的步骤,为Python语言构建了一个Web应用程序。为了完成此项目,需要对Python和特定的Python库有一定的理解,以及对视图/路由的基本了解。

通过简单的实现,可以使初学者和中级程序员更清楚地了解Python项目的概念和全过程。