sae mysql django_在SAE搭建Python+Django+MySQL(基于Windows)

为了与时俱进,工作闲余開始研究Python,刚一接触就被Python这“优雅”的语法吸引住。后来接触到了Django。尽管还没有太深入的研究。但对这样的新概念的WEB开发非常感兴趣,决定尝试用它取代Java开发小的后台程序,边用边学吧!

注:本篇仅仅介绍基础搭建过程,不负责解说。由于刚接触Python我也不懂!

bye.gif

一、SAE使用的Python环境版本号

Python2.7

Django1.27 / 1.4 / 1.5

本地版本号要确定好。须要用到其它的预装模块也要确定好。

(我一開始使用了高版本号的Python和Django,结果出现了一大堆莫名其妙的错误。)

二、SAE注冊、配置

注冊、新建应用略,新建完毕之后在“代码管理”中创建一个代码版本号,SAE同意有多个版本号的代码存在。能够互相切换。

SAE通过SVN来管理Python源码,页面的最以下有源码的SVN地址,是“https://svn.sinaapp.com/”这种格式,SVN账户password分别为安全邮箱、安全password

SVNclient下载地址http://tortoisesvn.net/downloads.html

根文件夹是以代码版本号为区分,应该仅仅有一个标号为“1”的文件夹,当中仅仅有:config.yaml,index.wsgi两个文件。

在“1”目录下创建Django项目,命令行中输入:

django-admin.py startproject

这里会产生两级以你APP命名的路径,将子文件夹及manage.py拷贝出来。变为一级文件夹

此时的根文件夹有config.yaml、index.wsgi、manage.py、文件夹

目录中有__init__.py、setting.py、urls.py、wsgi.py

三、改动config.yaml、index.wsgi的内容:

config.yaml:name:

version: 1

libraries:

- name: "django"

version: "1.5"

#我使用的是Django1.5

index.wsgi:

import os

import django.core.handlers.wsgi

import sae

os.environ['DJANGO_SETTINGS_MODULE'] = '.settings'

application = sae.create_wsgi_app(django.core.handlers.wsgi.WSGIHandler())

四、调试Django

建议使用pycharm作为IDE来开发。很方便。

下载地址:http://www.jetbrains.com/pycharm/

安装SAE在本机的模拟环境。

下载地址:https://github.com/sinacloud/sae-python-dev-guide.git

在dev_server中运行python setup.py install

假设出现“No module name setuptools”,说明缺少setuptools

下载地址:https://bootstrap.pypa.io/ez_setup.py

把它保存下来并运行下面。它会自己主动安装。

改动setting.py中的数据库链接,加入并改动例如以下代码:import os.path

from os import environ

debug = not environ.get("APP_NAME", "")

if debug:

#LOCAL 当代码执行在本地的时候,链接本地数据库。自行配置

MYSQL_DB = 'app_saepy'

MYSQL_USER = 'root'

MYSQL_PASS = 'admin'

MYSQL_HOST_M = '127.0.0.1'

MYSQL_HOST_S = '127.0.0.1'

MYSQL_PORT = '3306'

else:

#SAE 当代码执行在云平台的时候,链接云数据库,链接用的參数都在sae.const里面

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_HOST_S = sae.const.MYSQL_HOST_S

MYSQL_PORT = sae.const.MYSQL_PORT

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': MYSQL_DB,

'USER': MYSQL_USER,

'PASSWORD': MYSQL_PASS,

'HOST': MYSQL_HOST_M,

'PORT': MYSQL_PORT,

}

}

为了測试我们开放Django内置的admin,改动urls.py和setting.py。

在本地通过命令启动服务,或者通过PyCharm启动

manage.py runserver 8000

应该能够通过localhost:8000来訪问Django程序了。

注意SAE的MySQL貌似出于安全考虑,不同意用Navicat之类的工具訪问。使用syncdb命令同步SAE的数据库也比較麻烦,解决方式通常是在本地用syncdb命令,然后将本地数据库转存为SQL文件。再在SAE的MySQL上运行。这样会方便非常多。

(使用SAE的MySQL之前,记得须要在“服务管理”中初始化数据库。

)

通过SVN上传已经本地配置好的Django项目,不出意外.sinaapp.com/admin/应该已经能够訪问,可是管理界面是处于没有没有CSS的状态。

这是Django找不到admin的静态文件所致,有非常多种解决方案,在官方文档中有说明。比較简单的方式能够把admin所用的静态文件复制到"1"以下(djangocontribadminstatic下的admin目录),通过SVN上传之后就能够了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值