标签归档:sae

RSS feed of sae

SAE Django如何syncdb到线上数据库

使用SAE部署Django应用时,如何将应用的数据库同步至线上?

在本地开发环境中,如下配置数据库,即可执行 python manage.py syncdb 直接syncdb到线上数据库。

# 线上数据库的配置
MYSQL_HOST = 'w.rdc.sae.sina.com.cn'
MYSQL_PORT = '3307'
MYSQL_USER = 'ACCESSKEY'
MYSQL_PASS = 'SECRETKEY'
MYSQL_DB   = 'app_APP_NAME'

from sae._restful_mysql import monkey
monkey.patch()

DATABASES = {
    'default': {
        'ENGINE':   'django.db.backends.mysql',
        'NAME':     MYSQL_DB,
        'USER':     MYSQL_USER,
        'PASSWORD': ...

继续阅读

SAE KVDB Python前缀查找marker参数注意事项

SAE KVDB Python API中提供的前缀查找函数包括get_by_prefix(前缀查找键值对)与getkeys_by_prefix(前缀查找Keys)

方法参数列表说明如下:

get_by_prefix(prefix, limit=100, marker=None)
从KVDB中查找指定前缀的 key/value pair。返回一个generator,yield的item为一个(key, value)的tuple。

参数:
prefix – 需要查找的key的前缀。
limit – 最多返回的item个数,默认为100。
marker – 指定从哪一个key开始继续查找,只返回该key后面的结果(该key不含在内)。

getkeys_by_prefix(prefix, limit=100, marker=None)
从KVDB中查找指定前缀的key。返回符合条件的key的generator。

参数:
prefix – 需要查找的key的前缀。
limit – 最多返回的key的个数,默认为100。
marker – 指定从哪一个key开始继续查找,只返回该key后面的结果(该key不含在内)。

但需要注意的是,limit参数和marker参数传入时必须带上limit=和marker=,不可以直接传值,请看下面这段代码:


from ...

继续阅读

SAE Django KVDB管理面板

SAE KVDB为用户提供分布式的key-value数据存储服务,但是由于官方未提供管理面板,因此KVDB的数据管理操作或多或少会有些不便。

笔者根据SAE KVDB的Python API编写了一个简单的SAE KVDB Django管理面板,支持简单的按照Key前缀(Prefix)查询和键值对的新增、修改和删除功能。

Github的项目地址:sae-django-kvpanel

由于SAE Python API中的前缀查找方法get_by_prefix(prefix, limit=100, marker=None)的一些限制,分页功能还不太完善。

前缀查找方法声明如下:

get_by_prefix(prefixlimit=100marker=None)

从KVDB中查找指定前缀的 key/value pair。返回一个generator,yield的item为一个(key, value)的tuple。

参数:
  • prefix – 需要查找的key的前缀。
  • limit – 最多返回的item个数,默认为100。
  • marker – 指定从哪一个key开始继续查找,只返回该key后面的结果(该key不含在内)。

项目演示效果截图如下:

sae-django-kvpanel

项目未添加权限管理等内容,可根据需求自行添加权限控制。

添加步骤: ...

继续阅读

django-blog-zinnia v0.13 SAE即用版

django-blog-zinnia是目前github上最活跃的django weblog引擎
github项目链接:https://github.com/Fantomas42/django-blog-zinnia
感谢博客引擎作者Fantomas42的辛勤付出!

根据SAE的环境配置了一个zinnia v0.13的即用版
网盘链接:http://pan.baidu.com/s/1i3wZrM1

django-blog-zinnia项目需要配置的地方:
1. 1/mysite/settings.py:

  • 20行 MYSQL_USER = ''  #MYSQL USERNAME
  • 21行 MYSQL_PASS = ''  #MYSQL PASSWORD
  • 22行 MYSQL_DB   = ''   #MYSQL DBNAME
  • 38行 ALLOWED_HOSTS = [''] #允许访问的主机列表
  • 98行 SECRET_KEY = ''  #应用密钥,可以通过[random.choice(string.letters + ...

继续阅读

SAE新浪云Python添加Django模块

目前SAE预装模块中提供的Django版本包括1.2.7,1.4和1.5,暂不包含1.6及以上版本。

SAE Python可以添加自定义版本的Django模块,假设当前代码版本号为1,步骤如下:

1. 修改1/mysite/wsgi.py文件,将内容变更为:


import os
import sys

root = os.path.dirname(__file__)

sys.path.insert(0, os.path.join(root, '..', 'site-packages'))
# We defer to a DJANGO_SETTINGS_MODULE already in the environment. This breaks
# if running multiple sites in the same mod_wsgi process. To fix ...

继续阅读