Sina App Engine简称SAE,是个比较好的网站托管平台,目前说是全面免费,其实就是每个人分配很小的资源配额,在一定的使用范围内不用消耗云豆(SAE计费方式),对于个人学习和研究足够了,同类的还有GAE(google app engine)以及BAE(baidu app engine),gae身在国内就不用想太多了,除非爱折腾,bae也还不错,不过要用就要花钱,最低的配置只要几毛钱一天,也还算便宜。当然,如果资金富裕或者流量到了一定程度,可以考虑云服务器。

目前,在SAE上部署了一个Django项目,步骤记录如下:

打开eclipse,选择创建一个PyDev Django Project
输入项目名称,选择Interpreter
进入Django Settings
这里可以设定数据库类型以及配置,我这里选择mysql,并且由于我的root用户没有设置密码,所以留空,如果设置了密码,则需要填入密码
这样一个Django项目就建立起来了,因为部署到apache时候需要样式,所以在src下添加static文件夹,将Python27\Lib\site-packages\django\contrib\admin\static下的文件复制到新添加的static文件夹中,更改httpd.conf文件
 Alias /static D:/Workspace/Python/HelloDjango/src/static
<Directory D:/Workspace/Python/HelloDjango/src/static >
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory> WSGIScriptAlias /django "D:\Workspace\Python\HelloDjango\src\HelloDjango\wsgi.py"
WSGIPythonPath "D:\Workspace\Python\HelloDjango\src" <Directory "D:\Workspace\Python\HelloDjango\src\HelloDjango">
Order allow,deny
Allow from all
</Directory>
 
SAE:
SAE使用svn上传文件
checkout后,将上面项目的src下的文件夹都复制到签出的文件夹下的版本1中
目前sae下的django版本最高为1.5,如果需要1.8,则需要自己把1.8版本的django文件夹上传到sae中去,修改config.yaml
libraries:
- name: "django"
  version: "1.5" 
需要注意空格
修改index.wsgi文件
 import sys
import os.path os.environ['DJANGO_SETTINGS_MODULE'] = 'hello.settings'
sys.path.append(os.path.join(os.path.dirname(__file__), 'hello')) import sae
from hello import wsgi application = sae.create_wsgi_app(wsgi.application)
 
如果需要查看django版本,则注释上面的代码,在index.wsgi中添加
 #coding=utf-8
import sae import django def application(environ, start_response):
start_response('200 ok', [('content-type', 'text/plain')])
s=str(django.VERSION)
return s
这样就会打印出django的版本了
如果使用了Mysql,由于SAE上的sql是不能从本地连接的,所以在本地和在SAE上的MySQL连接配置是不一样的,可以考虑在settings.py中做如下配置
 debug= not environ.get("APP_NAME", "")
if debug:
#local
MYSQL_DB = "app_lsblog"
MYSQL_USER = "root"
MYSQL_PASS = "root"
MYSQL_HOST_M = "127.0.0.1"
MYSQL_PORT = ""
else:
import sae.const
MYSQL_DB = sae.const.MYSQL_DB
MYSQL_USER = sae.const.MYSQL_USER
MYSQL_PASS = sae.const.MYSQL_PASS
MYSQL_HOST_M = sae.const.MYSQL_HOST
MYSQL_PORT = sae.const.MYSQL_PORT
MYSQL_HOST_S = sae.const.MYSQL_HOST_S DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': MYSQL_DB,
'USER':MYSQL_USER,
'PASSWORD':MYSQL_PASS,
'HOST':MYSQL_HOST_M,
'PORT':MYSQL_PORT,
}
}

第一个Django项目及部署到Sina App Engine的更多相关文章

  1. Python Flask 在Sina App Engine (SAE)上安家

    早就听说了Python的大名,随着的编程语言的理解加深,越发认为动态语言的威力--真大呀. 趁这段时间不忙,我也用Python写了一个应用,而且将其部署到Sina App Engine (SAE).S ...

  2. 如何创建一个Django项目

    Django 软件框架 软件框架是由其中的各个模块组成,每个模块负责特定的功能,模块与模块之间相互协作来完成软件开发. MVC简介 MVC框架的核心思想是:解耦,让不同的代码块之间降低耦合,增强代码的 ...

  3. 发布一个Django项目

    一.部署环境准备,准备python3和虚拟环境解释器,virtualenvwrapper 1.修改python3的环境变量 PATH=/opt/python36/bin:/usr/local/sbin ...

  4. 玩转Django2.0---Django笔记建站基础十二(Django项目上线部署)

    第十二章 Django项目上线部署 目前部署Django项目有两种主流方案:Nginx+uWsGI+Django或者Apache+uWSGI+Django.Nginx作为服务器最前端,负责接收浏览器的 ...

  5. 搭建第一个django项目

    django是python做web最为强大和全能的后端框架,不会django的python如一条咸鱼... 所以开始学习django框架. 首选得在python中下载django 下载命令: pip ...

  6. Python开发入门与实战2-第一个Django项目

    2.第一个Django项目 上一章节我们完成了python,django和数据库等运行环境的安装,现在我们来创建第一个django project吧,迈出使用django开发应用的第一步. 2.1.创 ...

  7. 创建第一个Django项目

    第一个Django项目 命令行下使用如下命令创建一个名为"mysite"的Django项目: django-admin startproject mysite 这将会在当前位置创建 ...

  8. Django之真正创建一个django项目

    真正创建一个django项目 1 创建Django项目     :new-project 2 创建APP :  python manager.py startapp app01 3 setting 配 ...

  9. 使用pycharm创建自己的第一个django项目

    PyCharm是一种Python IDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Project管理.代码跳转.智能提示.自动完成.单元测试.版本控制. ...

随机推荐

  1. 自己拼接json字符串,现在用Gson来实现

    StringBuilder stringBuilder = new StringBuilder("["); String ssString; ArrayList<Compet ...

  2. codevs 3013 单词背诵 hash

    题目链接 题目描述 Description 灵梦有n个单词想要背,但她想通过一篇文章中的一段来记住这些单词. 文章由m个单词构成,她想在文章中找出连续的一段,其中包含最多的她想要背的单词(重复的只算一 ...

  3. CURD 例子

    public function modify(){ $id=$_GET['id']; $m=M('user'); $arr=$m->find($id); //var_dump($arr); $t ...

  4. 蓝桥杯之FBI树问题

    问题描述 我们可以把由"0"和"1"组成的字符串分为三类:全"0"串称为B串,全"1"串称为I串,既含"0&q ...

  5. nginx access log logrotate配置

    /home/deployuser/deploy/nginx/temp/logs/home.access.log {   size 100M   rotate 100    nocompress   d ...

  6. svn中的Trunk,branches,tags深度理解

    trunk.就是主干,这个目录以下直接放源代码了,我们创建项目的时候,把项目源代码放到这个目录.import进svn branches.就是分支,以下可能有非常多trunk,比方trunk_1_0_1 ...

  7. Java项目打包工具安装失败解决方法

    在学习Java的时候我们打包项目但遇到例如以下情况:(提示没有找到java的执行环境! ) 网上眼下有两中的解决方式: (1)选择本地jdk环境; (2)下载Download 可是第一种选择本地老是失 ...

  8. findbugs的ant脚本实践

    <?xml version="1.0" encoding="UTF-8"?> <project name="codeCheck&qu ...

  9. git将本地项目添加到github远程仓库

    1.首先准备好你的github 账号密码,注册就不说了.. 2.由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥 命令: $ ssh-keygen ...

  10. 如何用cocoapods 来管理项目中的第三方框架?

     一.安装 1.如果以前安装过,升级到10.10后工作不正常,可以先删除cocoapods $ sudo gem uninstall cocoapods ----------------------- ...