搜索
您的当前位置:首页正文

Django面面观(三)

来源:二三娱乐

数据库设置(DATABASES)

文件mysite/settings.py里,包含了按模块级别的设置。

默认使用SQLite,它已经包含在Python里了。如果希望使用其他数据库,可以改变DATABASES ‘default’项。

1.ENGINE。可选内容包括’django.db.backends.sqlite3’、’django.db.backends.postgresql’、’django.db.backends.mysql’、’django.db.backends.oracle’等等。

2.NAME。数据库名称。

3.USER。数据库用户。

4.PASSWORD。数据库密码。

5.HOST。数据库主机。

6.PORT。数据库端口。

时区(TIME_ZONE)

设置本地时区

安装的应用(INSTALLED_APPS)

1.django.contrib.admin。管理员站点。

2.django.contrib.auth。验证系统。

3.django.contrib.contenttypes。内容类型框架。

4.django.contrib.sessions。会话框架。

5.django.contrib.message。消息框架。

6.django.contrib.staticfiles。管理静态文件。

这些默认都自动安装了。

数据库迁移

$ python manage.py migrate

数据迁移只针对已安装的应用。

创建models(数据模型)

对于投票系统,我们创建两个数据模型,Question和Choise。

Question包括question和发布日期,Choise包括选项文本和票数。

polls/models.py

from django.db import models

class Question(models.Model):

    question_text = models.CharField(max_length=200)

    pub_date = models.DateTimeField('date published')

class Choice(models.Model):

    question = models.ForeignKey(Question, on_delete=models.CASCADE)

    choice_text = models.CharField(max_length=200)

    votes = models.IntegerField(default=0)

激活models(使用数据模型)

把polls应用添加到INSTALLED_APPS模块中。

mysite/settings.py

INSTALLED_APPS = [

'polls.apps.PollsConfig',

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

]

然后执行数据迁移。

$ python manage.py makemigrations polls

总的来说,可分为三步:

1.改变数据模型,修改models.py文件

2.执行 python manage.py make migrations。创建这些改变的迁移。

3.执行 python manage.py migrate 。应用这些改变到数据库中。

玩转API

$ python manage.py shell

Django Admin

按提示,创建超级管理员

$ python manage.py createsuperuser

启动服务后,可以登录admin站点。

添加管理员面板功能

在管理站点添加poll应用可修改,通知admin Question对象有admin接口。

polls/admin.py

from django.contrib import admin

from .models import Question

admin.site.register(Question)

1.Question会自动生成Form。

2.不同字段类型会关联到HTML中相应的输入控件。

3.DateTimeField会取到JS日期快捷日历。

按钮有如下选项。

1.save。保存改变项,返回改变列表。

2.save和continue editing。保存改变项,重新加载管理页面。

3.save和add another。保存改变项,加载新的添加项页面。

4.delete。显示删除确认页面。

Top