您的位置:首页 > 编程语言 > Go语言

django 学习笔记(一)

2014-04-14 20:53 316 查看
再一次开始了django的学习,希望这次能够因为实际应用的开发深入进去。

安装

django开发环境搭建文档
版本 1.5.5 (文档是1.5.5)

mkvirtualenv djtest
pip install django==1.5.5`


一、Writing your first Django app part1

修改端口
python manage.py runserver 8080


外部ip访问
python manage.py runserver 0.0.0.0:8000


建立一个项目

django-admin.py startproject mysite

目录结构

djtest/mysite
|---
|---mysite
|     |---urls.py
|     |---__init__.py
|     |---wsgi.py
|     |---settings.py
|---manage.py


设置 settings.py

数据库设置

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '/home/***/djtest/mysite/mysite/mysite.db',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}


设置中文环境

TIME_ZONE = 'Asia/Shanghai'
LANGUAGE_CODE = 'zh-cn'


建立必要的表

python manage.py syncdb


建立应用

python manage.py startapp polls

目录结构

djtest/mysite/polls
|---
|---__init__.py
|---models.py
|---views.py
|---tests.py


建立数据 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_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)


修改 settings.py 激活 polls应用

INSTALLED_APPS = (
...
'polls',
)

在添加model前,需要告诉South准备迁移数据库

(djtest)$ python manage.py schemamigration elist --initial
(djtest)$ python manage.py migrate elist

这样south会建立一个合并文件,用于应用和恢复数据库操作,在修改django 的 model后,可以使用命令

(djtest)$ python manage.py schemamigration elist --auto
#检测对models的更改,但并不实际提交数据库
(djtest)$ python manage.py migrate elist  #实际更改数据库


增加 unicode() 方法

class Poll(models.Model):
# ...
def __unicode__(self):  # Python 3: def __str__(self):
return self.question

class Choice(models.Model):
# ...
def __unicode__(self):  # Python 3: def __str__(self):
return self.choice_text


增加一个自定义方法

import datetime
from django.utils import timezone
# ...
class Poll(models.Model):
# ...
def was_published_recently(self):
return self.pub_date >= timezone.now() - datetime.timedelta(days=1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: