python web在BAE3.0上的配置

Django版本为1.7.1,本来是想用1.8.0版本,但是发布的时候会提示发布失败!

首先在本地安装Django1.7.1,创建工程,创建项目,目录如下

PROJECT_NAME

    |-- PROJECT_NAME/ #与工程同名的配置目录,后面叫他config目录
    |-- APP1/     #app目录 
    |-- manage.py    
    |-- requirement.txt  #声明,用来制定django版本,还有其他的一些额外的包
    |-- app.conf      
    |-- favicon.ico
    |-- index.py 
数据库配置:
  DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql', 
            'NAME': 'OjpyqrHLtABhihiHdrfC',    #扩展服务中mysql的名称
            'USER': 'd1c6c1dbc2744191ae159148e17f4e9f',   #安全认证中的Access Key ID
            'PASSWORD': '9b1941f0d7454f1b9170e844289fda21',  #Secret Access Key
            'HOST': 'sqld.duapp.com',   
            'PORT': '4050', 
        }
    }

requirement.txt配置

django==1.7.1
MySQL-python
#在我写这篇文章的时候,还不支持django1.8.0

app.conf配置(网上抄的,这个我不太清楚,反正我用这个是搞定了,静态文件暂时还没管)

handlers:
   - url : /static/(.*)
     script : /static/$1
   - url : /.*
     script : index.py
 
   - expire : .jpg modify 10 years
   - expire : .swf modify 10 years
   - expire : .png modify 10 years
   - expire : .gif modify 10 years
   - expire : .JPG modify 10 years
   - expire : .ico modify 10 years

index.py   感觉就是一个入口,请求的地址信息被传递给index.py,然后由它路由给config目录里的wsgi.py  (不保证这个理解是正确)

#1.4版本------------------------------------------------------------
import os
import sys
 
os.environ['DJANGO_SETTINGS_MODULE'] = 'blogdoor.settings'
 
path = os.path.dirname(os.path.abspath(__file__)) + '/blogdoor'
if path not in sys.path:
    sys.path.insert(1, path)
 
from django.core.handlers.wsgi import WSGIHandler
from bae.core.wsgi import WSGIApplication
 
application = WSGIApplication(WSGIHandler())
#1.7/1.6版本-------------------------------------------------------
import os
import sys
 
os.environ['DJANGO_SETTINGS_MODULE'] = 'blogdoor.settings'
 
path = os.path.dirname(os.path.abspath(__file__)) + '/blogdoor'
if path not in sys.path:
    sys.path.insert(1, path)
 
from django.core.wsgi import get_wsgi_application
from bae.core.wsgi import WSGIApplication
 
application = WSGIApplication(get_wsgi_application())
#-------------------------------------------------------------
#度娘给的文档是基于1.4的,我照抄了之后报错:The translation infrastructure cannot be initialized before the apps registry is ready
#百度了半天:http://blog.csdn.net/ksws0393238aa/article/details/41247813 就可以了

 

配置东西最最蛋疼的事情就是,不知道错在哪,也不知道对在哪!

 

posted @ 2015-04-23 20:24  V嘿嘿哈哈  阅读(300)  评论(0编辑  收藏  举报