如何使用 Google Cloud Platform 上的 Django 应用引擎骨架
1. 项目目录结构及介绍
GoogleCloudPlatform/appengine-django-skeleton 是一个基于Django框架构建App Engine应用的基础模板。以下是其主要目录结构及其简要说明:
- lib: 包含通过
pip install -t lib
命令安装的第三方依赖库,如Django等。 - mysite
- settings.py: Django设置文件,包括数据库配置、应用设置等。
- urls.py: 定义URL到视图函数的映射。
- polls: 示例应用程序,通常用于演示功能。
- app.yaml: App Engine的应用配置文件。
- appengine_config.py: 配置App Engine特定的行为,比如添加 vendored 库到Python路径。
- manage.py: Django的管理脚本,用于运行服务器、迁移数据库等。
- requirements-local.txt: 本地开发环境所需但由App Engine提供的依赖列表。
- requirements-vendor.txt: 需要部署到App Engine的第三方依赖列表,会被“vendor”(即复制)到项目中。
2. 项目的启动文件介绍
管理脚本 (manage.py
)
- 用途: 这是Django项目的入口点,提供了管理应用的各种命令,例如数据库迁移(
makemigrations
,migrate
)、运行服务器(runserver
)等。 - 如何使用: 在项目根目录下执行类似
python manage.py runserver
的命令来启动本地开发服务器。
应用引擎配置 (app.yaml
)
- 重要性: 此文件定义了你的应用如何在Google App Engine上被部署和运行,包括使用的Python版本、处理请求的入口点以及静态文件的处理方式。
- 示例:
这里指示使用灵活环境,指定Gunicorn作为WSGI服务器,并指定了Wsgi的入口模块路径。env: flex runtime: python entrypoint: gunicorn -b :$PORT mysite.wsgi ...
3. 项目的配置文件介绍
Django设置文件 (mysite/settings.py
)
- 关键配置:
- DATABASES: 指定数据库连接信息,对于云SQL,需要设置正确的主机名、用户名和密码。部署时使用Unix套接字与生产环境交互。
- STATIC_URL: 静态文件的URL前缀。
- INSTALLED_APPS: 包含所有激活的Django应用,如
polls
。
App Engine配置 (app.yaml
)
- 作用: 提供了Google App Engine环境的具体配置,包括环境变量、服务类型、运行时环境以及自定义的部署指令。
- 要点:
- env: 指定应用运行的环境,如
standard
或flexible
。 - runtime: 使用的Python版本。
- entrypoint: 应用程序启动命令,确保正确指向WSGI入口点。
- handlers: 处理请求和静态资源的规则集。
- env: 指定应用运行的环境,如
在部署至Google App Engine之前,确保已经安装必要的SDK,设置了正确的环境变量,并完成了本地数据库的配置与同步。此骨架项目简化了将Django应用迁移到云端的过程,遵循上述指南可顺利进行开发和部署流程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考