from django.db import models安装Django
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
建议安装python2.5及以上版本,但不建议使用python3.0。
数据库如果使用sqllite,python已经内建,不需另行安装,如果需要使用myslq或其他数据库,需要自行安装。接下来安装Django(在widnwos下):
1、从http://www.djangoproject.com/download/下载Django
2、在windwos下使用python setup.py install 安装(我原想使用python setup.py develop安装,没成功),前提是设置好python环境和已安装setuptools。
3、将python安装目录下lib\site-packages\django\bin\django-admin.py 复制到python安装目录下的\scripts\目录。
下面可以测试一下,启动cmd窗口:
C:\Documents and Settings\Administrator>python
>>> import django
>>> django.VERSION
(1, 2, 0, 'rc', 1)
安装OK。开始创建第一个project吧。
1、选定一个目录,启动cmd窗口:
F:\temp>django-admin.py startproject mysite2
F:\temp>
这将在当前目录下新建一个project,名字为mysite2(注意不要使用"django"等保留字作为project名称),目录结构为:
2010-05-30 13:29 <DIR> .
2010-05-30 13:29 <DIR> ..
2010-05-30 13:29 557 manage.py
2010-05-30 13:29 3,387 settings.py
2010-05-30 13:29 561 urls.py
2010-05-30 13:29 0 __init__.py
4 个文件 4,505 字节
2 个目录 29,717,716,992 可用字节
- __init__.py:暂时是空的,标识这个目录是一个python package。
- manage.py: Django的命令行工具集,使用方法:python manage.py ***
- settings.py: project 的配置文件
- urls.py: project的url路径管理配置文件
2、启动http server:
F:\temp\mysite2>python manage.py runserver
Validating models...
0 errors found
Django version 1.2 rc 1, using settings 'mysite2.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
打开web browser,输入地址http://127.0.0.1:8000/,可以看到server已经启动了。当然,如果你希望换一个端口,可以使用:
python manage.py runserver 端口号
3、接着配置database:
打开settings.py,在database节点下:
-
ENGINE 数据库引擎名称,可以是'django.db.backends.postgresql_psycopg2'或 'django.db.backends.mysql' 或 'django.db.backends.sqlite3'
-
NAME 数据库名称, 如果使用sqlite,这里就是db文件绝对路径,比如f:/temp/mysite/data.db
-
USER 数据库用户名,sqlite不需要
-
PASSWORD 密码,sqlite不需要
-
HOST 数据库主机ip,sqlite不需要
建议使用sqlite。如果使用其他如PostgerSQL、MySQL等,在配置之前要确保先在数据库中已建立相关项目。
'django.contrib.auth',用户认证
'django.contrib.contenttypes',内容管理?
'django.contrib.sessions',session控制
'django.contrib.sites',多site管理
如果用不到该app,可以注释掉,这将不在database中建立相关管理tables。然后使用:
python manage.py syncdb
建立相应的tables。
4、在mysite2目录下,新建一个自己的app:
python manage.py startapp polls
将新建一个polls目录,内容如下:
2010-05-30 14:07 <DIR> .
2010-05-30 14:07 <DIR> ..
2010-05-30 14:07 60 models.py
2010-05-30 14:07 537 tests.py
2010-05-30 14:07 27 views.py
2010-05-30 14:07 0 __init__.py
5、创建models:
编辑models.py,内容如下:
from django.db import models
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
class Choice(models.Model):
poll = models.ForeignKey(Poll)
choice = models.CharField(max_length=200)
votes = models.IntegerField()
这里有两个model,Poll和Choice,还存在一个one Poll to many Choice关系。
在setting.py 中将polls 加入到installed app 节点中,然后使用python manage.py syncdb 将在database中新建相应的tables。table name 分别是:
polls_poll,polls_choice。
当然还有其他一些manage command:
- python manage.py validate -- 校验model内容是否正确
- python manage.py sqlcustom polls -- 输出polls app中的model相关的sql相关语句
- python manage.py sqlclear polls -- 输出删除table的相关sql
- python manage.py sqlindexes polls -- 输出建立index的相关sql
- python manage.py sqlall polls -- 是sql, sqlcustom, and sqlindexes 输出内容的组合
6、使用django shell:
python manage.py shell
这个cmd背后做了两件事:一是将mysite2加入到sys.path中去;二是新建了DJANGO_SETTINGS_MODULE环境变量,可以引用settings.py中的配置内容。
接下来就可以测试了。