用django在SAE搭建个人博客(一)

开发环境:Ubuntu11.10+python2.7+django1.4+MySql

Django是python一个很优秀的Web网络框架。更多关于django的入门教程,请自行谷歌教程。需要注意的是,django目前的最新版本是1.6.2,但SAE支持的版本只有1.2和1.4,而且默认支持的版本是1.2,所以假如要用1.4版本的话需要在项目的config.yaml文件声明。

好了,废话不多说。首先先建立一个django project,切换到当前目录,在模拟终端输入(自己修改工程名字,用自己名字命名工程实在是太自恋了,虽然我不是这种人,但我一时找不到好听的工程名,就用自己的名字,修改一下就行了。)

$django-admin startproject xinjie

之后在目录下就可以看到有一个新的文件夹blog,文件夹的形式是这样的:

xinjie/
    manage.py
    xinjie/
        init.py
        settings.py
        urls.py
        wsgi.py
至此,我们便建立了一个django工程,但这个工程还没有任何的应用,所以接下来我们要做的便是建立一个APP。在终端输入
$../../ cd xinjie/
$../../xinjie/ python manage.py startapp myblog
在工程文件夹便会多一个myblog的文件夹,现在blog的文件夹应该是这样子的。
xinjie/
    manage.py
    xinjie/
        init.py
        settings.py
        urls.py
        wsgi.py
    xblog/
        init.py
        models.py
        views.py
这只是在本地运行的django,要将django工程放上SAE,我们还需要config.yaml和index.wsgi两个配置文件。
$../xinjie/vim config.yaml
在文件中写入:
name: xyblog
version: 1

libraries: - name: "django" version: "1.4"

handler: - url: /static/ static_path: static

在libraries中说明了用的是django的1.4版本,假如用的是默认的1.2版本,则无需注明。在文件中要特别注意缩进,python这种语言的层次全靠缩进。写完之后保存退出。同样的方法,
$../xinjie/ vim index.wsgi
在文件中写入:
import os
import sys
import sae
from xinjie import wsgi

root = os.path.dirname(file)

sys.path.insert(0, os.path.join(root, 'site-packages')) application = sae.create_wsgi_app(wsgi.application)

这个文件是配置应用接口的。写入保存。

写好了在配置文件,现在就要来写工程的配置文件。工程的配置文件在工程blog/blog目录下的settings.py。文件内容要做如下的修改。需要注意的是,在python文件中包含中文字符,所以所有的.py文件最前面都要加#-- coding: utf-8 --

首先便是设置数据库参数,在运行程序之前要记得在MySql创建一个APP要用到的数据库,比如我的就叫,xblog.

from os import environ
import os

DEBUG = False #在本地开发阶段切记要保持默认的True,这样子可以省下很多麻烦。 TEMPLATE_DEBUG = DEBUG

ADMINS = ( # ('Your Name', 'your_email@example.com'), )

MANAGERS = ADMINS

if 'SERVER_SOFTWARE' in environ:#区分在SAE还是在线下开发。 from sae.const import ( MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASS, MYSQL_DB) else: MYSQL_HOST='localhost' MYSQL_PORT = '3306'#数据库的端口,MySql通常是3306. MYSQL_USER = 'root'#数据库的USER,MySql通常是root MYSQL_PASS = 'YOUR_DATABASE_PASSWORD'#你数据库的密码 MYSQL_DB = 'YOUR_APP_DATABASE_NAME'#应用在数据库中的名字

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'NAME': MYSQL_DB, # Or path to database file if using sqlite3. 'USER': MYSQL_USER, # Not used with sqlite3. 'PASSWORD': MYSQL_PASS, # Not used with sqlite3. 'HOST':MYSQL_HOST, # Set to empty string for localhost. Not used with sqlite3. 'PORT': MYSQL_PORT, # Set to empty string for default. Not used with sqlite3. } }

修改默认的时区和语言。

TIME_ZONE = 'Asia/Shanghai' #这个要修改默认值,因为是在中国大陆,假如不再中国大陆则无需修改。

LANGUAGE_CODE = 'zh-cn' #修改了上面的设置,这个也要跟着修改。

修改静态文件的相对路径。

STATIC_ROOT = os.path.join(os.path.dirname(file), 'static')

STATIC_URL = '/static/'

接下来修改中间层。

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.locale.LocaleMiddleware',#这个记得要修改。
    'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
修改模板所在的相对位置。
TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(os.path.dirname(file), '../templates'),
)
现在来修改一个重量级的设置,这个设置便是这个工程中所要用到的APP,无论是自带的还是后来添加的,都必须在这里注册。
INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.redirects', 
    # Uncomment the next line to enable the admin:
    'django.contrib.admin',
    # Uncomment the next line to enable admin documentation:
    'django.contrib.admindocs',
    'xblog',
    'django.contrib.markup',
)
按照修改设置,我们的工程初始化工作便完成了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值