以下是在sae中设置Django的完整攻略:
1. 创建Sae应用
首先,在sae上创建一个Python应用,选择Python 2.7版本,并绑定自己的域名。绑定域名后,获取到自己的 SAE AccessKey 和 SecretKey。
2. 配置本地开发环境
在本地创建一个虚拟环境,安装Django和其它需要的包
$ mkdir ~/myproject
$ cd ~/myproject
$ virtualenv env
$ source env/bin/activate
$ pip install django==1.11.9
$ pip install MySQL-python==1.2.5
这里以Django 1.11.9版本为例。MySQL-python是Python 2.x中的MySQL数据库连接驱动,也可以选择其它数据库连接驱动。
3. 创建Django项目
在本地虚拟环境下使用Django的命令行工具创建一个Django项目
$ django-admin.py startproject myproject
创建项目后,将Django项目的根目录myproject和虚拟环境下的env下的Lib/python2.7/site-packages等目录一起打包上传到SAE的/data目录下
$ cd ~
$ tar -cvzf myproject.tar.gz myproject
$ cd env && tar -cvzf env.tar.gz Lib/python2.7/site-packages/
$ cd ~
$ scp -P <port> myproject.tar.gz <username>@<appname>.sae.sinacdn.com:/data/
$ scp -P <port> env.tar.gz <username>@<appname>.sae.sinacdn.com:/data/
其中,
上传文件后,进入SAE应用的SSH控制台,解压缩上传的文件
$ cd /data
$ tar -xzvf myproject.tar.gz
$ tar -xzvf env.tar.gz
4. 配置SAE应用
在SAE应用的web.yaml文件中加入以下内容,用于指定WSGI处理器和Python路径:
handlers:
- url: /.*
script: myproject.wsgi.application
sae:
python: 2
wsgi: myproject.wsgi.application
packages: /data/env/lib/python2.7/site-packages
其中,handlers部分用于处理所有请求,调用myproject.wsgi.application处理;sae部分则设置Python的版本号、WSGI处理器以及自定义Python模块路径。
在SAE应用的数据库管理界面中设置MySQL数据库,并记下用户名、密码、主机、端口、数据库名。
然后,在myproject/settings.py文件中配置数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<db_name>',
'USER': '<db_username>',
'PASSWORD': '<db_password>',
'HOST': '<db_host>',
'PORT': '<db_port>',
}
}
将
5. 部署Django应用
在SSH控制台中,进入myproject目录,创建一个名为wsgi.py的文件
$ cd /data/myproject
$ touch wsgi.py
在wsgi.py中添加以下内容
import os
import sys
sys.path.insert(0, '/data/myproject')
sys.path.insert(0, '/data/env/lib/python2.7/site-packages')
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()
其中,第2、3行将当前目录和Python包目录加入系统路径中,以便于导入Django包和自定义Python模块。第5行设置Django设置模块名,这里是myproject.settings。最后一行调用get_wsgi_application()获取WSGI处理器,这里是使用Django内置的WSGI处理器。
在SSH控制台中启动应用
$ cd /data
$ sae-python27-manage start myproject
在浏览器中访问自己的域名,即可看到Django的“Welcome to Django”页面,说明应用已经成功启动。
至此,Django应用已经可以正常运行在SAE上,与本地开发环境基本一致。
以下是两个在SAE上使用Django的示例:
示例一:SAE上的Django博客
通过实现博客的方式学习Python Web开发(三):在SAE上部署Django
该博客使用Django 2.1.5版本开发,同时使用MySQL数据库,详细讲解了如何在SAE上部署Django项目,并给出了完整的源码和演示地址。
示例二:SAE上的Django云盘
该项目是一个简单的文件上传和下载应用,使用Django 1.11.6版本开发,通过插件方式连接到SAE的Storage服务,读写文件。文章讲解了如何在SAE上部署Django项目,配置PyCharm开发环境,并给出了完整的源码和演示地址。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何在sae中设置django,让sae的工作环境跟本地python环境一致 - Python技术站