Skip to main content

for django in sae

Project description

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
<title></title>
<style type="text/css">

/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $
:Copyright: This stylesheet has been placed in the public domain.

Default cascading style sheet for the HTML output of Docutils.

See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/

/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }

table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }

.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }

.last, .with-subtitle {
margin-bottom: 0 ! important }

.hidden {
display: none }

a.toc-backref {
text-decoration: none ;
color: black }

blockquote.epigraph {
margin: 2em 5em ; }

dl.docutils dd {
margin-bottom: 0.5em }

object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}

/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/

div.abstract {
margin: 2em 5em }

div.abstract p.topic-title {
font-weight: bold ;
text-align: center }

div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }

div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }

div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }

/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }

div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/

div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }

div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }

div.figure {
margin-left: 2em ;
margin-right: 2em }

div.footer, div.header {
clear: both;
font-size: smaller }

div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }

div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }

div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }

div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }

div.system-messages {
margin: 5em }

div.system-messages h1 {
color: red }

div.system-message {
border: medium outset ;
padding: 1em }

div.system-message p.system-message-title {
color: red ;
font-weight: bold }

div.topic {
margin: 2em }

h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }

h1.title {
text-align: center }

h2.subtitle {
text-align: center }

hr.docutils {
width: 75% }

img.align-left, .figure.align-left, object.align-left {
clear: left ;
float: left ;
margin-right: 1em }

img.align-right, .figure.align-right, object.align-right {
clear: right ;
float: right ;
margin-left: 1em }

img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}

.align-left {
text-align: left }

.align-center {
clear: both ;
text-align: center }

.align-right {
text-align: right }

/* reset inner alignment in figures */
div.align-right {
text-align: inherit }

/* div.align-center * { */
/* text-align: left } */

ol.simple, ul.simple {
margin-bottom: 1em }

ol.arabic {
list-style: decimal }

ol.loweralpha {
list-style: lower-alpha }

ol.upperalpha {
list-style: upper-alpha }

ol.lowerroman {
list-style: lower-roman }

ol.upperroman {
list-style: upper-roman }

p.attribution {
text-align: right ;
margin-left: 50% }

p.caption {
font-style: italic }

p.credits {
font-style: italic ;
font-size: smaller }

p.label {
white-space: nowrap }

p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }

p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }

p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }

p.topic-title {
font-weight: bold }

pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }

pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }

pre.code .ln { color: grey; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}

span.classifier {
font-family: sans-serif ;
font-style: oblique }

span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }

span.interpreted {
font-family: sans-serif }

span.option {
white-space: nowrap }

span.pre {
white-space: pre }

span.problematic {
color: red }

span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }

table.citation {
border-left: solid 1px gray;
margin-left: 1px }

table.docinfo {
margin: 2em 4em }

table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }

table.footnote {
border-left: solid 1px black;
margin-left: 1px }

table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }

table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }

/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}

h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }

ul.auto-toc {
list-style-type: none }

</style>
</head>
<body>
<div class="document">


<p>#django-sae</p>
<p>[![PyPI version](<a class="reference external" href="https://badge.fury.io/py/django-sae.png)](http://badge.fury.io/py/django-sae">https://badge.fury.io/py/django-sae.png)](http://badge.fury.io/py/django-sae</a>)</p>
<p>用于新浪云平台SAE</p>
<p>### 扩展命令
* compress_site_packages:压缩 site_packages
* upgrade_requirements:更新requirements.txt中所有依赖的库
* sae_migrate:切换到SAE数据库,并进行migrate操作
* sae_syncdb:切换到SAE数据库,并进行syncdb+migrate操作</p>
<p>使用sae_migrate、sae_syncdb等与数据库相关的扩展命令时,请手工获取SAE数据库的相关常数,如MYSQL_DB、MYSQL_USER、MYSQL_PASS等,并在settings中对DATABASES进行修改。</p>
<p>### 数据库
如需数据库读写操作分离,请在settings中进行设置(示例如下):
<a href="#id1"><span class="problematic" id="id2">``</span></a><a href="#id3"><span class="problematic" id="id4">`</span></a>python
from sae.const import MYSQL_HOST, MYSQL_HOST_S, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB
DATABASES = {</p>
<div class="system-message" id="id1">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 15); <em><a href="#id2">backlink</a></em></p>
Inline literal start-string without end-string.</div>
<div class="system-message" id="id3">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 15); <em><a href="#id4">backlink</a></em></p>
Inline interpreted text or phrase reference start-string without end-string.</div>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 20)</p>
Unexpected indentation.</div>
<blockquote>
<dl class="docutils">
<dt>'default': {</dt>
<dd>'ENGINE': 'django.db.backends.mysql',
'NAME': MYSQL_DB,
'USER': MYSQL_USER,
'PASSWORD': MYSQL_PASS,
'HOST': MYSQL_HOST,
'PORT': MYSQL_PORT,
'OPTIONS': {'init_command': &quot;SET storage_engine=MYISAM;&quot;},</dd>
</dl>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 28)</p>
Definition list ends without a blank line; unexpected unindent.</div>
<p>},
'slave': {</p>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 30)</p>
Unexpected indentation.</div>
<blockquote>
'ENGINE': 'django.db.backends.mysql',
'NAME': MYSQL_DB,
'USER': MYSQL_USER,
'PASSWORD': MYSQL_PASS,
'HOST': MYSQL_HOST_S,
'PORT': MYSQL_PORT,
'OPTIONS': {'init_command': &quot;SET storage_engine=MYISAM;&quot;},</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 37)</p>
Block quote ends without a blank line; unexpected unindent.</div>
<p>},</p>
</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 38)</p>
Block quote ends without a blank line; unexpected unindent.</div>
<p>}
DATABASE_ROUTERS = ['django_sae.db.routers.MasterSlaveRouter']
<a href="#id5"><span class="problematic" id="id6">``</span></a><a href="#id7"><span class="problematic" id="id8">`</span></a></p>
<div class="system-message" id="id5">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 38); <em><a href="#id6">backlink</a></em></p>
Inline literal start-string without end-string.</div>
<div class="system-message" id="id7">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 38); <em><a href="#id8">backlink</a></em></p>
Inline interpreted text or phrase reference start-string without end-string.</div>
<p>### 缓存
使用 SAE Memcache 服务时,请在settings中进行设置(示例如下):
<a href="#id9"><span class="problematic" id="id10">``</span></a><a href="#id11"><span class="problematic" id="id12">`</span></a>python
CACHES={</p>
<div class="system-message" id="id9">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 42); <em><a href="#id10">backlink</a></em></p>
Inline literal start-string without end-string.</div>
<div class="system-message" id="id11">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 42); <em><a href="#id12">backlink</a></em></p>
Inline interpreted text or phrase reference start-string without end-string.</div>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 46)</p>
Unexpected indentation.</div>
<blockquote>
<dl class="docutils">
<dt>'default': {</dt>
<dd>'BACKEND': 'django_sae.cache.backends.SaePyLibMCCache',</dd>
</dl>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 48)</p>
Definition list ends without a blank line; unexpected unindent.</div>
<p>}</p>
</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 49)</p>
Block quote ends without a blank line; unexpected unindent.</div>
<div class="section" id="id13">
<h1>}</h1>
<p>### 日志
使用日志过滤器RequireInSAE和RequireNotInSAE时,请在settings中进行设置(示例如下):
<a href="#id14"><span class="problematic" id="id15">``</span></a><a href="#id16"><span class="problematic" id="id17">`</span></a>python
LOGGING = {</p>
<div class="system-message" id="id14">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 52); <em><a href="#id15">backlink</a></em></p>
Inline literal start-string without end-string.</div>
<div class="system-message" id="id16">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 52); <em><a href="#id17">backlink</a></em></p>
Inline interpreted text or phrase reference start-string without end-string.</div>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 56)</p>
Unexpected indentation.</div>
<blockquote>
<p>'version': 1,
'disable_existing_loggers': True,
'filters': {</p>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 59)</p>
Unexpected indentation.</div>
<blockquote>
<dl class="docutils">
<dt>'require_in_sae': {</dt>
<dd>'()': 'django_sae.utils.log.RequireInSAE',</dd>
</dl>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 61)</p>
Definition list ends without a blank line; unexpected unindent.</div>
<p>},
'require_not_in_sae': {</p>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 63)</p>
Unexpected indentation.</div>
<blockquote>
'()': 'django_sae.utils.log.RequireNotInSAE',</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 64)</p>
Block quote ends without a blank line; unexpected unindent.</div>
<p>},</p>
</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 65)</p>
Block quote ends without a blank line; unexpected unindent.</div>
<p>},
'handlers': {</p>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 67)</p>
Unexpected indentation.</div>
<blockquote>
<dl class="docutils">
<dt>'console': {</dt>
<dd>'level': 'DEBUG',
'class': 'logging.StreamHandler',
'filters': [ 'require_in_sae'],</dd>
</dl>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 71)</p>
Definition list ends without a blank line; unexpected unindent.</div>
<p>},</p>
</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 72)</p>
Block quote ends without a blank line; unexpected unindent.</div>
<p>},
'loggers': {</p>
<div class="system-message">
<p class="system-message-title">System Message: ERROR/3 (<tt class="docutils">&lt;string&gt;</tt>, line 74)</p>
Unexpected indentation.</div>
<blockquote>
<dl class="docutils">
<dt>'django': {</dt>
<dd>'handlers': ['console'],</dd>
</dl>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 76)</p>
Definition list ends without a blank line; unexpected unindent.</div>
<p>},</p>
</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 77)</p>
Block quote ends without a blank line; unexpected unindent.</div>
<p>}</p>
</blockquote>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 78)</p>
Block quote ends without a blank line; unexpected unindent.</div>
</div>
<div class="section" id="id18">
<h1>}</h1>
<!-- :changelog: -->
<div class="section" id="release-history">
<h2>Release History</h2>
<div class="section" id="id19">
<h3>0.1.23 (2014-03-21)</h3>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 89)</p>
<p>Title underline too short.</p>
<pre class="literal-block">
0.1.23 (2014-03-21)
++++++++++++++++++
</pre>
</div>
<ul class="simple">
<li>添加日志过滤器:RequireInSAE,RequireNotInSAE</li>
</ul>
</div>
<div class="section" id="id20">
<h3>0.1.21 (2014-03-20)</h3>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 94)</p>
<p>Title underline too short.</p>
<pre class="literal-block">
0.1.21 (2014-03-20)
++++++++++++++++++
</pre>
</div>
<ul class="simple">
<li>删除扩展命令:sae_schemamigration(因为此命令不需要链接SAE数据库)</li>
</ul>
</div>
<div class="section" id="id21">
<h3>0.1.18 (2014-03-19)</h3>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 99)</p>
<p>Title underline too short.</p>
<pre class="literal-block">
0.1.18 (2014-03-19)
++++++++++++++++++
</pre>
</div>
<ul class="simple">
<li>添加扩展命令:upgrade_requirements</li>
</ul>
</div>
<div class="section" id="id22">
<h3>0.1.13 (2014-03-18)</h3>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 104)</p>
<p>Title underline too short.</p>
<pre class="literal-block">
0.1.13 (2014-03-18)
++++++++++++++++++
</pre>
</div>
<ul class="simple">
<li>重命名扩展命令: updatepackages -&gt; compress_site_packages,</li>
<li>添加扩展命令:sae_migrate, sae_schemamigration, sae_syncdb</li>
</ul>
</div>
<div class="section" id="id23">
<h3>0.1.11 (2014-03-17)</h3>
<div class="system-message">
<p class="system-message-title">System Message: WARNING/2 (<tt class="docutils">&lt;string&gt;</tt>, line 110)</p>
<p>Title underline too short.</p>
<pre class="literal-block">
0.1.11 (2014-03-17)
++++++++++++++++++
</pre>
</div>
<ul class="simple">
<li>commands(扩展命令): updatepackages(更新依赖库并压缩为site-packages.zip)</li>
</ul>
</div>
<div class="section" id="id24">
<h3>0.1.1 (2014-03-16)</h3>
<ul class="simple">
<li>patches: 自动设置</li>
<li>conf: SAE平台的默认设置</li>
</ul>
</div>
<div class="section" id="id25">
<h3>0.1.0 (2014-03-15)</h3>
<ul class="simple">
<li>db: 通用模型和读写分离</li>
<li>cache: 缓存模型</li>
<li>utils: 时间戳模块和装饰模块</li>
<li>tasks: 用于执行任务</li>
</ul>
</div>
</div>
</div>
</div>
</body>
</html>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-sae, version 0.1.25
Filename, size File type Python version Upload date Hashes
Filename, size django-sae-0.1.25.zip (37.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page