跳到主要内容

Django

Django 是一个功能强大的 Python Web 框架,遵循 "Batteries-included" 理念,提供开箱即用的全栈解决方案。它以高效开发和安全稳定著称,内置 ORM、Admin 后台、用户认证等模块,大幅减少重复代码。Django 采用清晰的 MVC(MTV)架构,支持高扩展性,适合从快速原型到企业级应用开发,其自动化的管理界面和详尽的文档进一步提升了开发效率。

本指南介绍如何通过多种方式在腾讯云托管上部署示例 Django 应用程序:

创建一个 Django 应用

Note: 如果你已经存在一个 Django 应用,你可以跳过该步骤。

要创建新的 Django 应用程序,请确保你的机器上安装了Python和 Django。

按照以下步骤在目录中设置项目。

创建虚拟环境

python -m venv env

激活虚拟环境

source env/bin/activate

安装 Django

python -m pip install django

一切设置完成后,在终端运行以下命令来配置新的 Django 项目:

django-admin startproject cloudrun-django

此命令将创建一个名为cloudrun-django的新项目。

接下来,cd 进入目录并运行python manage.py runserver以启动项目。

打开浏览器并查看http://127.0.0.1:8000, 您将看到 Django 欢迎页面。

配置依赖项

创建 requirements.txt 文件: 要跟踪部署的所有依赖项,请创建一个requirements.txt文件:

pip freeze > requirements.txt

Note: 只有在虚拟环境中运行上述命令才是安全的,否则它将生成系统上所有安装的 python 包。可能导致云托管上无法启动该应用程序。

配置 Dockerfile

在 Django 应用程序的跟目录中创建一个 Dockerfile 文件, 内容如下:

FROM alpine:3.21.3

# 容器默认时区为UTC,如需使用上海时间请启用以下时区设置命令
RUN apk add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone

# 选用国内镜像源以提高下载速度
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.tencent.com/g' /etc/apk/repositories \
&& apk add --update --no-cache python3 py3-pip gcc python3-dev linux-headers musl-dev \
&& rm -rf /var/cache/apk/*

# 使用 HTTPS 协议访问容器云调用证书安装
RUN apk add ca-certificates

# 拷贝当前项目到/app目录下(.dockerignore中文件除外)
COPY . /app

# 设定当前的工作目录
WORKDIR /app

# 安装依赖到指定的/install文件夹
# 选用国内镜像源以提高下载速度
RUN pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple \
&& pip config set global.trusted-host mirrors.cloud.tencent.com \
&& pip install --upgrade pip --break-system-packages \
# pip install scipy 等数学包失败,可使用 apk add py3-scipy 进行, 参考安装 https://pkgs.alpinelinux.org/packages?name=py3-scipy&branch=v3.13
&& pip install --user -r requirements.txt --break-system-packages

# 执行启动命令
# 写多行独立的CMD命令是错误写法!只有最后一行CMD命令会被执行,之前的都会被忽略,导致业务报错。
# 请参考[Docker官方文档之CMD命令](https://docs.docker.com/engine/reference/builder/#cmd)
CMD ["python3", "manage.py", "runserver","0.0.0.0:8080"]

通过上面更改,你的 Django 程序将可以部署到腾讯云托管了!

部署到云托管

云托管提供了多种部署方式来部署你的应用:

控制台部署

打开腾讯云托管, 点击通过本地代码部署 -> 填写服务名称 -> 部署方式选择上传代码包 -> 代码包类型选择文件夹 -> 选择 cloudrun-django 目录进行上传 -> 端口填写 8080 -> 点击创建并等待创建完成即可。

通过 cli 部署

如果您已经安装了 CloudBase CLI,可以在项目目录下使用以下命令将应用部署到 CloudBase 云托管:

tcb cloudrun deploy -p 8080

输入环境和服务名称后,CLI 会自动打包应用像并部署到云托管。

除了手动部署外,你也可以一键安装上述应用:

一键从模版部署

一键从 github 部署