海上月明

editer by sun
posts - 162, comments - 51, trackbacks - 0, articles - 8
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

[1] Django笔记:Django 入门

Posted on 2010-05-30 14:48 pts 阅读(1982) 评论(1)  编辑  收藏 所属分类: DjangoPython
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()



安装Django

建议安装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等,在配置之前要确保先在数据库中已建立相关项目。

在setting.py中的INSTALLED_APPS节点下,默认有以下一个APP:
    '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:

6、使用django shell:

python manage.py shell

这个cmd背后做了两件事:一是将mysite2加入到sys.path中去;二是新建了DJANGO_SETTINGS_MODULE环境变量,可以引用settings.py中的配置内容。

接下来就可以测试了。


评论

# re: [1] Django笔记:Django 入门[未登录]  回复  更多评论   

2012-02-23 15:36 by mark
你好,我在安装的时候,没有看到这个啊,

script目录只在tools文件里,
将python安装目录下lib\site-packages\django\bin\django-admin.py 复制到python安装目录下的\scripts\目录。
还有就是我想创建project的时候,F盘无法创建,显示invalid syntax!不知道是什么原因呢,

只有注册用户登录后才能发表评论。


网站导航: