SAE构建Django项目
2013-10-29 23:43
316 查看
非常简单的记录而已:
1. 创建python应用(废话),从sae的svn中checkout到本地,假设为checkout到 E:\xxx\project\1\
2. 在eclipse中创建django项目,前提是要装好pydev插件以及装好django框架。在新建django项目的时候,取消项目创建的默认目录,而是指定到E:\xxx\project\1\
3. 改写index.wsgi :sae的python项目入口是index.wsgi,我们需要修改其中的代码,把application指定为我们的django应用,代码如下:
wsgi在你创建的django应用中就已经有了,直接import就行
4. 直接访问sae的你的项目的网站。有可能会提示你找不到wsgi模块,那有可能是因为你没有修改config.yaml文件,将其修改成:
5.数据库
为了在settings.py兼容本地和SAE上两种模式,在settings中做如下配置
但是由于SAE数据库上还没有django默认创建的那些表,比如django-session,所以需要我们同步数据库或者人工导入SQL,按照官方文档,将上面代码中下面这一段:
去掉注释,然后在manage.py所在文件夹中在命令行敲入python manage.py syncdb,就可以同步到SAE数据库上,但是要事先安装SAE相关的模块,我没有安装,所以就不能用这种方法同步。
那怎么办呢,很简单,使用本地链接:
暂时把
改成
在本机数据库上创建一个和你的数据库名相同的数据库,然后运行python manage syncdb后,django 相关的表就会被创建在本机的数据库中了
然后我们用mysql相关的界面工具,比如我使用的是navicat for mysql,导出数据库表结构的SQL文件,回到SAE的phpmysqladmin上导入SQL文件,这样就完成创建了。
最后记得把 if True 改回来成 if not online
这样就应该可以了,其他的settings,根据文档配置就行
1. 创建python应用(废话),从sae的svn中checkout到本地,假设为checkout到 E:\xxx\project\1\
2. 在eclipse中创建django项目,前提是要装好pydev插件以及装好django框架。在新建django项目的时候,取消项目创建的默认目录,而是指定到E:\xxx\project\1\
3. 改写index.wsgi :sae的python项目入口是index.wsgi,我们需要修改其中的代码,把application指定为我们的django应用,代码如下:
import sae from myproject import wsgi application = sae.create_wsgi_app(wsgi.application)
wsgi在你创建的django应用中就已经有了,直接import就行
4. 直接访问sae的你的项目的网站。有可能会提示你找不到wsgi模块,那有可能是因为你没有修改config.yaml文件,将其修改成:
libraries: - name: "django" version: "1.4"
5.数据库
为了在settings.py兼容本地和SAE上两种模式,在settings中做如下配置
from os import environ online = environ.get("APP_NAME",None) if not online: db_name = 'dreamshare' # 数据库名 user = 'root' # 用户名 password = 'root' # 密码 host = 'localhost' # 主库域名(可读写) port = 3306 # 端口,类型为,请根据框架要求自行转换为int host_s = 'localhost' # 从库域名(只读) else:# from sae._restful_mysql import monkey # monkey.patch()import sae.const db_name = sae.const.MYSQL_DB # 数据库名 user = sae.const.MYSQL_USER # 用户名 password = sae.const.MYSQL_PASS # 密码 host = sae.const.MYSQL_HOST # 主库域名(可读写) port = int(sae.const.MYSQL_PORT) # 端口,类型为,请根据框架要求自行转换为int host_s = sae.const.MYSQL_HOST_S # 从库域名(只读)DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': db_name, # Or path to database file if using sqlite3. # The following settings are not used with sqlite3: 'USER': user, 'PASSWORD': password, 'HOST': host, # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP. 'PORT': port, # Set to empty string for default. }}
但是由于SAE数据库上还没有django默认创建的那些表,比如django-session,所以需要我们同步数据库或者人工导入SQL,按照官方文档,将上面代码中下面这一段:
# from sae._restful_mysql import monkey # monkey.patch()
去掉注释,然后在manage.py所在文件夹中在命令行敲入python manage.py syncdb,就可以同步到SAE数据库上,但是要事先安装SAE相关的模块,我没有安装,所以就不能用这种方法同步。
那怎么办呢,很简单,使用本地链接:
暂时把
if not online
改成
if True
在本机数据库上创建一个和你的数据库名相同的数据库,然后运行python manage syncdb后,django 相关的表就会被创建在本机的数据库中了
然后我们用mysql相关的界面工具,比如我使用的是navicat for mysql,导出数据库表结构的SQL文件,回到SAE的phpmysqladmin上导入SQL文件,这样就完成创建了。
最后记得把 if True 改回来成 if not online
这样就应该可以了,其他的settings,根据文档配置就行
相关文章推荐
- Django项目简单构建
- [django]项目打包构建
- 在sae配置django项目
- [django]项目打包构建
- 在sae配置django项目
- SAE下创建一个django项目
- python django web项目的构建步骤(一)
- django开发个人简易Blog——构建项目结构
- django项目部署到SAE上的个人博客
- django 项目,app 构建,admin 工具使用,根据model生成表
- SAE 部署Django项目
- Django开源项目mezzanine迁移SAE分享
- [django]项目打包构建
- Django开源项目mezzanine迁移SAE分享
- 使用Django + Vue.js快速而优雅地构建前后端分离项目
- python django web项目的构建步骤(二)
- 使用Maven构建RichFaces 4.x项目
- Vue2+VueRouter2+webpack 构建项目实战(六)修复代码并通过验证,另发布代码
- vue-cli构建vue项目
- DOS命令行中用MAVEN构建 Java 和 Java Web 项目