📅  最后修改于: 2023-12-03 15:19:36.858000             🧑  作者: Mango
Python是一种高级编程语言,具有简单易学、可读性好、可扩展性强等优势,因此在软件开发领域被广泛使用。本项目教程旨在帮助初学者和中级程序员了解如何在Python中构建项目。
在开始构建Python项目前,需要安装Python。建议使用Python 3.x版本,因为Python 2.x已经陆续停止支持,并且Python 3.x版本对于编码的要求更加严格,避免了一些常见的错误。
安装Python后,可以在命令行中输入以下命令来检查Python版本:
python --version
如果Python已经正确安装,将输出Python版本号。
在开始构建Python项目之前,需要确定项目目标。明确项目目标有助于您更好地规划项目,并掌握实施步骤。
在本教程中,我们将构建一个简单的Todo列表。该Todo列表将允许用户添加和编辑任务、标记任务完成和删除任务。
在Python中,有各种各样的第三方库可以使用,它们不仅节约了编写代码的时间,还可以为项目增添许多有用的功能。在构建我们的Todo列表时,我们需要安装如下库:
可以使用pip命令安装这两个库:
pip install Flask SQLalchemy
经过一段时间的下载和安装,这两个库就被安装在Python环境中了。
当库已安装后,需要创建项目文件结构。在项目根目录中创建以下文件和文件夹:
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
启动应用程序。接下来,在app/__init__.py
中编写代码以创建Flask应用程序:
# 导入相关库
from flask import Flask
# 创建app
app = Flask(__name__)
# 导入Flask视图
from app import routes
这里导入Flask库并使用它来创建一个名为“app”的Flask应用程序对象。然后,导入所有视图(在我们的例子中只有一个视图),这可以确保Flask应用程序与我们的路由有关联。
在项目中,将使用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文件只是一个简单的欢迎页面,这里将展示根据需要可以扩展的模板。
定义路由后,可以在指定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
文件的函数。
在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)
查询数据库和保存数据,需要在本地计算机上创建一个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配置,将数据库放在与该应用程序同级别的目录下。
接下来,创建应用程序入口点run.py:
# 导入应用和配置
from app import app
from config import Config
# 运行应用
if __name__ == '__main__':
app.run(debug=True)
这里启动了Flask应用程序。
在命令行窗口中转到项目中的目录(请确保在该目录中创建了Python虚拟环境),然后运行以下命令启动应用程序:
export FLASK_APP=run.py
flask run
把URL复制到浏览器器的地址栏中,然后按Enter键。如果一切正常,将会看到刚刚创建的“Welcome to My Todo List!”信息显示在网页上,这表示应用程序正常运行。
我们通过几个简单的步骤,为Python语言构建了一个Web应用程序。为了完成此项目,需要对Python和特定的Python库有一定的理解,以及对视图/路由的基本了解。
通过简单的实现,可以使初学者和中级程序员更清楚地了解Python项目的概念和全过程。