SAE如何线上执行Django的“manage.py syncdb”来同步数据库

来源:互联网 发布:miui8修改手机mac地址 编辑:程序博客网 时间:2024/05/19 13:07

声明:有些内容来自互联网,具体来源未知,我只是做些修改和解读。

在SAE想用Django的admin模块来管理Django,但需要先执行 manage.py syncdb命令,但官方文档的方法似乎不行,百度了一些,做下笔记。


1、在你的视图模块定义一些内容,比如我的视图模块为:views.py

import sysimport StringIOfrom django.http import HttpResponsedef syncdb(request):    #重定向标准输出重定向到内存的字符串缓冲(由StringIO模块提供)    saveout = sys.stdout    log_out = StringIO.StringIO()      sys.stdout = log_out     #利用django提供的命令行工具来执行“manage.py syncdb”    from django.core.management import execute_from_command_line    execute_from_command_line(["manage.py", "syncdb", "--noinput"])    #获得“manage.py syncdb”的执行输出结果,并展示在页面    result = log_out.getvalue()    sys.stdout = saveout    return HttpResponse(result.replace("\n","<br/>"))
oudb
2、URL配置:views.py

from django.conf.urls import patterns, include, urlfrom django.contrib import adminadmin.autodiscover()from cpuwall.views import syncdburlpatterns = patterns('',    # Examples:    # url(r'^$', 'cpuwall.views.home', name='home'),    # url(r'^blog/', include('blog.urls')),    url(r'^syncdb/', syncdb),#增加URL路径    url(r'^admin/', include(admin.site.urls)),)


3、用svn同步代码到SAE,然后在浏览器打开:http://your_appname.sinaapp.com/syncdb/,看到以下内容说明成功了。

Creating tables ...Installing custom SQL ...Installing indexes ...Installed 0 object(s) from 0 fixture(s)



0 0
原创粉丝点击