在SAE搭建Python+Django+MySQL(基于Windows)
为了与时俱进,工作闲余開始研究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: 1libraries:- 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.constMYSQL_DB = sae.const.MYSQL_DBMYSQL_USER = sae.const.MYSQL_USERMYSQL_PASS = sae.const.MYSQL_PASSMYSQL_HOST_M = sae.const.MYSQL_HOSTMYSQL_HOST_S = sae.const.MYSQL_HOST_SMYSQL_PORT = sae.const.MYSQL_PORTDATABASES = {'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上传之后就能够了。
转载于:https://www.cnblogs.com/claireyuancy/p/6860670.html
在SAE搭建Python+Django+MySQL(基于Windows)相关推荐
- python django mysql web页面多级联动_Python Web实战:Python+Django+MySQL实现基于Web版的增删改查...
前言 本篇使用Python Web框架Django连接和操作MySQL数据库学生信息管理系统(SMS),主要包含对学生信息增删改查功能,旨在快速入门Python Web,少走弯路.效果演示在项目实战最 ...
- Python+Django+Mysql个性化图书推荐系统 图书在线推荐系统 基于用户、项目、内容的协同过滤推荐算法(带设计报告)
Python+Django+Mysql个性化图书推荐系统 图书在线推荐系统 基于用户.项目.内容的协同过滤推荐算法 WebBookRSM.Python python实现协同过滤推荐算法实现 源代码下载 ...
- Python+Django+Mysql开发在线美食推荐网 协同过滤推荐算法在美食网站中的运用 基于用户、物品的协同过滤推荐算法 个性化推荐算法、机器学习、分布式大数据、人工智能开发
Python+Django+Mysql开发在线美食推荐网 协同过滤推荐算法在美食网站中的运用 基于用户.物品的协同过滤推荐算法 个性化推荐算法.机器学习.分布式大数据.人工智能开发 FoodRecom ...
- Python+Django+Mysql开发在线购物推荐网 协同过滤推荐算法在购物网站中的运用 个性化推荐算法开发 基于用户、物品的协同过滤推荐算法 机器学习、分布式大数据、人工智能开发
Python+Django+Mysql开发在线购物推荐网 协同过滤推荐算法在购物网站中的运用 个性化推荐算法开发 基于用户.物品的协同过滤推荐算法 机器学习.分布式大数据.人工智能开发 ShopRec ...
- 在线电影推荐网 Python+Django+Mysql 协同过滤推荐算法在电影网站中的运用 基于用户、物品的协同过滤推荐算法 开发在线电影推荐系统 电影网站推荐系统 人工智能、大数据、机器学习开发
在线电影推荐网 Python+Django+Mysql 协同过滤推荐算法在电影网站中的运用 基于用户.物品的协同过滤推荐算法 开发在线电影推荐系统 电影网站推荐系统 人工智能.大数据.机器学习开发 M ...
- 在线新闻推荐网 Python+Django+Mysql开发技术 基于用户、物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法、机器学习、分布式大数据、人工智
在线新闻推荐网 Python+Django+Mysql开发技术 基于用户.物品的协同过滤推荐算法 个性化新闻推荐系统 协同过滤推荐算法在新闻网站中的运用 个性化推荐算法.机器学习.分布式大数据.人工智 ...
- 在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户、物品的协同过滤推荐算法 个性化推荐算法、机器学习、分布式大数据、人工智
在线图书推荐网 Python+Django+Mysql开发技术 个性化图书推荐系统 协同过滤推荐算法在图书网站中的运用 基于用户.物品的协同过滤推荐算法 个性化推荐算法.机器学习.分布式大数据.人工智 ...
- 在线电影推荐网 使用Python+Django+Mysql开发技术 在线电影推荐系统 电影网站推荐系统 基于用户、物品的协同过滤推荐算法 个性化推荐算法开发 机器学习、人工智能、大数据分布式开发
在线电影推荐网 使用Python+Django+Mysql开发技术 在线电影推荐系统 电影网站推荐系统 基于用户.物品的协同过滤推荐算法 个性化推荐算法开发 机器学习.人工智能.大数据分布式开发 Mo ...
- 在线音乐推荐网 Python+Django+Mysql开发技术 基于用户、物品的协同过滤推荐算法 个性化音乐推荐系统 音乐网站+协同过滤推荐算法 机器学习、分布式大数据、人工智能开发
在线音乐推荐网 Python+Django+Mysql开发技术 基于用户.物品的协同过滤推荐算法 个性化音乐推荐系统 音乐网站+协同过滤推荐算法 机器学习.分布式大数据.人工智能开发 MusicRec ...
最新文章
- 独家 | 快速掌握spacy在python中进行自然语言处理(附代码链接)
- python同步打乱
- 【Android 应用开发】LruCache 简介
- Python 面向对象(二)类的继承
- hibernate三种状态:临时状态、游离状态、持久化状态
- 前后端传递时间参数偶遇参数类型转换异常
- [PAT乙级]1033 旧键盘打字(getline()读入)
- 复习HTML CSS(5)
- 夺命连环问:一个 TCP 连接可以发多少个 HTTP 请求?|文末送书
- IE下img多余5像素空白
- 哈工大-操作系统的引导
- PMBOK第七版即将来袭!你是否做好准备迎接新考纲+新教材的PMP考试?
- java微信公众号百度地图,微信企业号开发之微信考勤百度地图定位
- 前端请求接口出现415错误
- 权重衰减(weight decay)
- 又要数数小绵羊(四刷) kkmd66
- TestFlight APP测试(IOS如何让上架前给其他人测试)
- 《Oracle PL/SQL程序设计(第5版)》一一2.4 执行必要的PL/SQL任务
- Package com.google.common.collect
- linux命令行的 是啥意思,linux是什么 Linux 命令行中的21是什么意思