Django是Python的一个开放源代码的Web应用框架。本文档将演示如何使用Django创建一个应用和给应用添加MySQL数据库,并将其部署到Web+上。

步骤一:安装Django

执行以下命令安装Django。由于在本文档中将使用MySQL,因此需要安装pymysql模块。
pip install Django pymysql 
注意 使用Django(2.2版本以上)需要Python 3.5以上版本,在本文档将使用3.7.4版本作为示例。

步骤二:创建应用

  1. 执行以下命令执行django-admin命令来快速创建一个项目。
    django-admin startproject webplusdemo
  2. 可以看到创建的目录结构如下。
    webplusdemo/
    ├── manage.py
    └── webplusdemo
        ├── __init__.py
        ├── settings.py
        ├── urls.py
        └── wsgi.py
  3. 执行以下命令执行django-admin命令来快速创建一个项目。
    django-admin startproject webplusdemo

步骤三:打包应用

  1. 执行以下命令来修改settings.pyALLOWED_HOSTS配置项,允许所有域名的访问。
    ALLOWED_HOSTS = ['*']
  2. 执行以下命令改写settings.py中的数据库配置。Django默认使用sqlite数据库,本示例中将使用RDS中的MySQL数据库。
    # Database
    # https://docs.djangoproject.com/en/2.2/ref/settings/#databases
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': os.environ['WP_RDS_DATABASE'],
            'USER': os.environ['WP_RDS_ACCOUNT_NAME'],
            'PASSWORD': os.environ['WP_RDS_ACCOUNT_PASSWORD'],
            'HOST': os.environ['WP_RDS_CONNECTION_ADDRESS'],
            'PORT': os.environ['WP_RDS_PORT'],
        }
    }
  3. 进入webplusdemo目录,执行以下命令完成应用打包,生成部署包文件webplusdemo.zip
    zip -r webplusdemo.zip ./

步骤四:部署应用至Web+

  1. 登录 Web+控制台,并在页面左上角选择所需地域。
  2. 概览最近更新的部署环境区域的右上角单击新建
  3. 应用基本信息页面选择技术栈类型Python,设置应用基本信息,设置完成后单击下一步
    使用Django开发应用_Python_开发指南_Web应用托管服务 阿里云技术文档 第1张
  4. 部署环境信息页面设置部署环境名称,部署包来源选择上传本地程序,上传您刚打包的webplusdemo.zip,设置部署包版本后单击下一步
    使用Django开发应用_Python_开发指南_Web应用托管服务 阿里云技术文档 第2张
  5. 配置页面选择预设配置自定义模式。
    使用Django开发应用_Python_开发指南_Web应用托管服务 阿里云技术文档 第3张
  6. 展开云数据库RDS,按图所示配置云数据库类型为MySQL,并选择数据库版本、系列和类型等数据库基本信息。
    使用Django开发应用_Python_开发指南_Web应用托管服务 阿里云技术文档 第4张
  7. 展开生命周期挂钩,在PostPrepareApp编辑框内输入以下内容。配置完成后单击完成创建
    source /etc/bashrc && cd $APP_HOME && python manage.py migrate
  8. 完成创建页面单击查看该应用完成创建可进入应用详情页面。单击部署环境名称进入部署环境详情页面,然后单击公网访问地址右侧的链接进入应用首页。
    使用Django开发应用_Python_开发指南_Web应用托管服务 阿里云技术文档 第5张
    上面步骤配置了数据库,因此可以访问登录页。您可以通过在数据库写入用户表或执行python manage.py createsupersuer的方式来创建用户。
    使用Django开发应用_Python_开发指南_Web应用托管服务 阿里云技术文档 第6张

更多信息