django在sae上的部署教程

当小伙伴们没有自己的服务器但又想把自己写的网站发布到网上让大家看的时候该怎么办? 网上其实有很多免费的环境来让我们用,今天的主角sae就是其中一个还算不错的云应用平台, 之所以还算不错,就是因为它并没有开放所有的权限, 例如我的搜索功能现在还不知道怎么加进我的网站。(不过确实是有办法,我还没研究出来)

源代码:https://github.com/juventusryp/searchplatform.git

任何可以运行的django程序都可以,我的代码也是copy别人修的

一、建立应用

http://sae.sina.com.cn/ 点击创建新应用,然后填入相关信息,最后的开发语言选择python2.7 然后创建一个空应用。

二、上传代码


其中testsql是我自己本地开发用的python环境,也就是python2.7+django1.8.3 也包括了一些所需的包,如果你的网站也有其他的python包,也需要把自己的python环境打包传上来。(这里推荐大家用virtualenv来虚拟出python环境,然后直接打包上传即可)

三、修改代码(如果用我提供的测试代码,则此部分无需修改)

找到你的wsgi.py,修改代码如下:

import os
import sys

root = os.path.dirname(__file__)
sys.path.insert(0,os.path.join(root,'..','testsql/Lib/site-packages'))
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "learn_models.settings")

application = get_wsgi_application()

其中testsql/Lib/site-packages 是你的python环境目录,请自行更改。

修改根目录下config.yaml:

libraries:
- name:"django"
  version:"1.8.3"

handlers:
- url: /static/
  static_path: static

django版本为你上传的版本,倒数一、二行为你的静态文件所在目录

修改根目录下index.wsgi:

import sae
from learn_models import wsgi
application = sae.create_wsgi_app(wsgi.application)

其中第二行是你wsgi所在目录,请自行修改

四、数据库修改

sae是用的mysql数据库,所以你的开发环境如果是用的其他数据库,请先在本地修改成mysql数据库并且运行成功。

首先在本地用navicat等工具将你的数据库转存出来,具体教程请自行百度,很简单。

然后在sae的控制台页面左侧服务管理下点击mysql,选择共享性mysql,土豪请选择独享型。

点击管理mysql,然后用phpmyadmin将你本地转存的mysql文件导入即可。

最后修改你的代码包里的settings.py文件的DATABASES字段如下:

 DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': sae.const.MYSQL_DB,
        'USER':sae.const.MYSQL_USER,
        'PASSWORD':sae.const.MYSQL_PASS,
        'HOST':sae.const.MYSQL_HOST,
        'PORT':sae.const.MYSQL_PORT,
    }
}

五、最后修改

在settings.py的ALLOWED_HOSTS字段里加入sae给你分配的域名,或者你自己的独立域名。(独立域名需要审核备案且与sae绑定)

至此,你的网站应该可以通过域名进行访问了,如果一切顺利的话,最后记得部署上线时将DEBUG改为False。

原创文章,转载请注明出处

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,716评论 6 427
  • GitHub 上有一个 Awesome - XXX 系列的资源整理,资源非常丰富,涉及面非常广。awesome-p...
    若与阅读 18,975评论 4 418
  • 环境管理管理Python版本和环境的工具。p–非常简单的交互式python版本管理工具。pyenv–简单的Pyth...
    MrHamster阅读 9,240评论 1 61
  • 说明1:本文翻译自Django官方文档Writing your first Django app, part 1。...
    周帅阅读 16,091评论 3 49
  • 人的一生有先天注定的亲人、也有后天遇见的同学和朋友。可是随着岁月流失,先天注定的亲人与后天遇见的同学和朋友也许会因...
    佛华阅读 1,904评论 0 0