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

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

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

Python2.7

    Django1.27 / 1.4 / 1.5

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

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

二、SAE注冊、配置

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

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

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

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

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

django-admin.py startproject <你的APP名字>

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

    此时的根文件夹有config.yaml、index.wsgi、manage.py、<app名字>文件夹

    <app名字>目录中有__init__.py、setting.py、urls.py、wsgi.py

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

config.yaml:

name: <你的APP名字>
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'] = '<你的APP名字>.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项目,不出意外<app名字>.sinaapp.com/admin/应该已经能够訪问,可是管理界面是处于没有没有CSS的状态。

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

在SAE搭建Python+Django+MySQL(基于Windows)的更多相关文章

  1. Python Web实战:Python+Django+MySQL实现基于Web版的增删改查

    前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...

  2. 第一篇:Win10系统搭建Python+Django+Nginx+MySQL 开发环境详解(完美版)

    Win10+Python+Django+Nginx+MySQL 开发环境搭建详解 PaulTsao 说明:本文由作者原创,仅供内部参考学习与交流,转载引用请注明出处,用于商业目的请联系作者本人. Wi ...

  3. python+Django+mysql环境搭建

    为什么我的毕业设计还要用到网站啊啊啊啊.什么鬼啊,又要做爱拍拍又要做网站???饶了我啊..我选择狗带.. 网站就用django做吧,毕竟之前做过一个电脑销售网站,希望能借鉴一下经验什么的,不要一切从头 ...

  4. 搭建Python+Django开发环境

    第一步:安装python. 常见的windows系统,直接python网站下载 最新的版本python3.5. python安装好之后,配置好环境变量.使得python和 pip命令能够正常使用. 第 ...

  5. 在MAC下 Python+Django+mysql配置

    今天在搭建Django+mysql环境的时候遇到了一点问题,记录下来. 安装环境:OS X 10.10操作系统,Python 2.7. MySQLdb其实包含在MySQL-python包中,因此无论下 ...

  6. python+django+mysql配置步骤

    安装python 详细步骤见:地址 1. 从 http://www.python.org/download/ 下载最新的python版本 (我用的是python2.6, 当时最稳定的) 2. 然后一路 ...

  7. Python+Django+Eclipse 在Windows下快速开发自己的网站

    一.配置开发环境 我的开发环境是:Python3.3.2 + Django1.5.2 + Eclipse 1.安装Python 下载地址:http://www.python.org/getit/ 安装 ...

  8. python django mysql配置

    1    django默认支持sqlite,mysql, oracle,postgresql数据库.  <1> sqlite django默认使用sqlite的数据库,默认自带sqlite ...

  9. 基于SAE的Python+Django部署

    本文主要参考:http://www.cnblogs.com/qtsharp/archive/2012/01/12/2320774.html,另外包括自己的实际操作. 一.申请SAE帐号以及创建应用ya ...

随机推荐

  1. PLC学习资料

    常用字母 X 输入点(I)可连接外部输入信号 如感应器或限位/按钮等M 内部辅助继电器S 内部步进 不作步进使用时,可用作内部辅助继电器T 时间继电器 内部使用C计数器 内部使用Y输出点(O)输出给外 ...

  2. 对SNL语言的解释器实现尾递归优化

    对于SNL语言解释器的内容可以参考我的前一篇文章<使用antlr4及java实现snl语言的解释器>.此文只讲一下"尾递归优化"是如何实现的--"尾递归优化& ...

  3. VMware 12虚拟机下Ubuntu 16连不上网解决方法

    打开自带Firefox浏览器,显示连接不上网,终端下 ping 也显示 unkown   解决方法: 1.打开虚拟机的“编辑”选项,选择“虚拟网络编辑器” 2.选择VMnet8(我不知道为啥VMnet ...

  4. 梦想CAD控件图层COM接口知识点

    梦想CAD控件图层COM接口知识点 一.新建图层 主要用到函数说明: _DMxDrawX::AddLayer 增加新的图层.详细说明如下: 参数 说明 BSTR pszName 图层名 c#中实现代码 ...

  5. Mybatis学习总结一

    一.Mybatis架构  JAR包下载地址 1.  mybatis配置 SqlMapConfig.xml,此文件作为mybatis的全局配置文件,配置了mybatis的运行环境等信息. mapper. ...

  6. Python自学-2-python解释器

    写python源文件,以.py为后缀名 用python解释器去执行.py文件 python解释器 CPython:官方版本,由C语言开发的,下载默认就是这个,使用最广的解释器.   用>> ...

  7. docker 1-->docker swarm 转载

    实践中会发现,生产环境中使用单个 Docker 节点是远远不够的,搭建 Docker 集群势在必行.然而,面对 Kubernetes, Mesos 以及 Swarm 等众多容器集群系统,我们该如何选择 ...

  8. 19异常和file部分笔记

    19异常和file部分笔记-2018/09/041.异常  1.1 throwable()几个常见方法 * getMessage()获取异常信息,返回字符串 * toString()获取异常类名和异常 ...

  9. python_ 学习笔记(hello world)

    python中的循环语句 循环语句均可以尾随一个else语句块,该块再条件为false后执行一次 如果使用break跳出则不执行. for it in [1,2,3,4]: print(it,end= ...

  10. swoft| 源码解读系列二: 启动阶段, swoft 都干了些啥?

    date: 2018-8-01 14:22:17title: swoft| 源码解读系列二: 启动阶段, swoft 都干了些啥?description: 阅读 sowft 框架源码, 了解 sowf ...