
2008年8月5日
在Web程序中难免要与数据库打交道,django目前支持四种数据库
1、PostgreSQL
需要安装psycopg
2、SQLite 3 SQLite3是一个本地数据库,类似于access,可以使用SQLite-manager来管理。
在Django下面使用SQLite需要安装pysqllite,点击这里直接下载pysqlite-2.4.1.win32-py2.5.exe
3、MySQL
版本为1.2.1p2或者更高的MySQL需要安装MySQLdb,
4、Oracle
版本为 4.3.1 或者更高的Oracle需要安装cx_Oracle
对于SQL Server的数据库引擎支持工作尚未完成
本文已最简单的SqlLite为例进行介绍,希望能起到抛砖引玉的效果.
1、 数据库的配置
根据上一章创建一个名为myblog的项目
打开根目录下的settings.py文件,编辑如下配置:
DATABASE_ENGINE = 'sqlite3' # 数据库引擎
DATABASE_NAME = './db/blog.sqlite' # 数据库名字,若是sqlite,则制定数据库文件路径
DATABASE_USER = '' # 用户名,sqlite为空
DATABASE_PASSWORD = '' # 密码,sqlite为空
DATABASE_HOST = '' # 数据库服务器地址,sqlite为空
DATABASE_PORT = '' # 端口,sqlite为空
2、创建model
在根目录下创建mvc文件夹,在mvc下分别创建models.py, __init__.py文件
django把每个具有
__init__.py文件的文件夹看成一个命名空间,在根目录下需要添加他的引用,在
setting.py找到

Code
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin', #先加上这个,后面创建网站后台管理要用
'myblog.mvc', #在这儿加上mvc的引用
)
model.py的代码:

Code
# -*- coding: utf-8 -*-
#import time
from django.db import models
from django.contrib import admin

# Create your models here.

_list_per_page = 50

# Article
class Article(models.Model):
id = models.AutoField(
primary_key = True,
core = True,
)
title = models.CharField(
max_length = 50,
)
summanry = models.TextField(
blank = True,
null = True,
)
content = models.TextField()
addtime = models.DateTimeField(
auto_now_add = True,
core = True,
)
def addtime_format(self):
return self.addtime.strftime('%Y-%m-%d %H:%M:%S')
def __unicode__(self):
return self.title

class ArticleAdmin(admin.ModelAdmin):
list_display = ('id','title','addtime_format')
list_display_links = ('id','title')
_list_per_page = _list_per_page

class Reply(models.Model):
id = models.AutoField(
primary_key = True,
core = True,
)
title = models.CharField(
max_length = 50,
)
author = models.CharField(
max_length = 10,
)
email = models.EmailField()
homepage = models.URLField()
article = models.ForeignKey(Article) #创建外键
addtime = models.DateTimeField(
auto_now_add = True,
)
content = models.TextField()
def addtime_format(self):
return self.addtime.strftime('%Y-%m-%d %H:%M:%S') #格式化时间的方法
def __unicode__(self):
return self.title #每个类型都应该由一个__unicode__方法,类似于.net中的 objectA.ToString()显示出来的东西
class ReplyAdmin(admin.ModelAdmin):
list_display = ('id','title','author','email','homepage','article','addtime_format') #列表显示的字段
list_display_links = ('id','title') #列表中可点击进入编辑的链接字段
ordering = ["-addtime"] #排序
search_fields = ('title','author') #可搜索的字段
list_filter = ('email',) #过滤条件
_list_per_page = _list_per_page

#分别给Article,Reply类注册使他们可以在后台管理
admin.site.register(Article,ArticleAdmin)
admin.site.register(Reply,ReplyAdmin)
好了,model都创建好了,下面生成数据库
3、生成数据库
打开命令行,进入项目所在的文件夹输入
manage.py syncdb ,它会提示你
You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no):
大概的意思是是否创建django自带的网站后台管理程序的数据库,选择yes, 然后根据提示设置好用用户名和密码等
该操作后你可以在配置的数据库文件夹下看到生成的数据库
4、测试数据连接
运行命令行 python manage.py shell
输入下面这些命令来测试你的数据库配置:
>>> from django.db import connection
>>> cursor = connection.cursor()
如果没有显示什么错误信息,那么你的数据库配置是正确的
5、配置urls.py
打开urls.py,在顶上加上 from django.contrib import admin
在patterns添加一项 (r'^admin/(.*)',admin.site.root),
好了 现在在命令行输入 manage.py runserver 启动web服务
浏览器打开http://127.0.0.1:8000/admin/进入网站后台管理~



posted @
2008-08-05 01:05 邱韵 阅读(2375) |
评论 (9) |
编辑

2008年7月28日
本想在Ubuntu下学习Django,无奈由于硬件的问题没有装好Ubuntu。
本文介绍在Windows下安装配置Django,Linux下请参考
这里。
Django是一个
Python的Web开发框架。
Django官方网站 首先你要准备如下安装包:
Python 2.5.2:Python库
Django-0.96.2.tar.gz:Django源码
Komodo Edit:一个IDE
好了,现在开始安装。
1、首先安装Python 2.5.2。我是安装到C:\python下的
2、将Django-0.96.2.tar.gz解压,将Django-0.96.2文件夹下的所有文件拷贝到一个目录。我按拷贝到D:\django
3、设置环境变量
在 我的电脑 -> 属性 -> 高级 -> 环境变量 -> 系统变量 中,找到Path
在变量值后加上C:\python和C:\python\scripts路径,
即
;C:\python;C:\python\scripts\
4、用文本编辑器打开D:\django\setup.py
找到
package = dirpath[len_root_dir:].lstrip('/').replace('/', '.')
将这行的/替换成\\
这个主要是linux和windows中的转义字符不大一样
5、安装Django
在命令行中,输入
setup.py install 安装
6、安装IDE Komodo Edit
附 用Django创建一个网站项目:
1、打开命令行,输入
django-admin.py startproject simple
simple为项目的名称,创建完之后会在D:\django出现一个simple目录
2、在命令行中进入D:\django\simple目录, 输入
manage.py runserver 启动web服务
访问
http:127.0.0.1:8000 查看运行效果。
注:可以运行
manage.py runserver 192.168.88.12:8765 来指定访问的IP和端口,以便能够在局域网内访问
3、用Komodo创建一个项目在D:\django\simple。
注意:在windows下需要将
D:\django\django\contrib\admin\media 覆盖掉 C:\Python25\Lib\site-packages\django\contrib\admin\media
&&
D:\django\django\contrib\admin\templates 覆盖掉 C:\Python25\Lib\site-packages\django\contrib\admin\templates
否则使用django自带动网站管理后台将出现TemplateDoesNotExist at /admin/的错误
完成
posted @
2008-07-28 16:12 邱韵 阅读(1181) |
评论 (5) |
编辑