Django学习笔记(二)

二、开发篇(一)

参考官方教程一这个说明。在工作文件夹中运行(试过所谓的PYTHONPATH,但在Windows上似乎无效,只好用全路径了):

python ...\django\bin\django-admin.py startproject [yourproject]

即可创建一个叫[yourproject](将所有的[yourproject]换成你的项目名)的文件夹,其中包含基本的项目文件。修改其中的settings.py,把相应的数据库信息填好(当然,必须先创建一个空的数据库)后,再运行:

python ...\django\bin\django-admin.py init --settings=[yourproject].settings

初始化yourproject,只要前面配置没问题,就可以成功创建一个项目了(在当前工作文件夹下创建相应的子文件夹)。

因为后面的操作中也需要这个参数--settings=[yourproject].settings,故建议设置一个环境变量(似乎使用这个环境变量需要将工作文件夹——不是项目文件夹——加入PYTHONPATH环境变量):

set DJANGO_SETTINGS_MODULE=[yourproject].settings

建好项目就可以开始写应用了,以官方教程中的polls为例说明。首先是创建一个polls app,在[yourprojects]\apps文件夹中运行(假设已经设置了上述环境变量):

python ...\django\bin\django-admin.py startapp polls

之后便会以apps下生成polls子文件夹等,编辑polls\models\polls.py文件如下(我就不分步了,直接用了教程一完成的完整代码):

from django.core import meta

class Poll(meta.Model):
question = meta.CharField(maxlength=200)
pub_date = meta.DateTimeField('date published')

def __repr__(self):
return self.question

def was_published_today(self):
return self.pub_date.date() == datetime.date.today()

class Choice(meta.Model):
poll = meta.ForeignKey(Poll)
choice = meta.CharField(maxlength=200)
votes = meta.IntegerField()

def __repr__(self):
return self.choice

这里定义了应用程序的数据结构(类数据成员),然后修改settings.py:

INSTALLED_APPS = (
'[yourproject].apps.polls',
)

然后生成数据库结构(其它相关的语句说明见官方教程):

python ...\django\bin\django-admin.py install polls

至此,完成数据库的建立,接下来请自行按照教程一中的内容尝试通过Python的交互功能使用Django的ORM输入测试数据(这些数据在教程二中有用到)。