Django2.2丨模型和admin站点

数据库配置

mysite/settings.py里面包含了Django项目设置的Python模块。

通常,配置文件使用SQLite作为默认数据库。

使用其他数据库,需要安装合适的database bindings,然后改变设置文件中DATABASES 'default’项目中的一些键值:

  • ENGINE :可选值有"django.db.backends.sqlite3’,‘django.db.backendes.postgresql’,‘django.db.backend.mysql’或’django.db.backend.oracle’。其他可用后端。

  • NAME :数据库的名称。如果使用的是SQLite,数据库将是电脑上的一个文件,在这种情况下,NAME应该是此文件的绝对路径,包括文件名。默认值os.path.join(BASE_DIR, ‘db.sqlite3’)将会把数据库文件储存在项目的根目录。

如果不使用SQLite,则必须添加一些额外设置,如USER、PASSWORD、HOST等等。

编辑mysite/settings.py前,需要先设置TIME_ZONE时区。

另外文件头部为INSTALLED_APPS设置项。是包含了项目中所有Django应用。

默认包括Django自带应用。

  • django.contrib.admin:管理员站点
  • django.contrib.auth:认证授权系统
  • django.contrib.contenttypes:内容类型框架
  • django.contrib.sessions:会话框架
  • django.contrib.messages:消息框架
  • django.contrib.staticfiles:管理静态文件的框架

在数据库中创建表的命令

python manage.py migrate

这个migrate命令检查INSTALLED_APPS设置,为其中的每个应用创建需要的数据表。命令所执行的每个迁移操作都会在终端中显示出来。

注:migrate命令只会在INSTALLED_APPS里声明了的应用进行数据库迁移

创建模型

写一个数据库驱动的Web应用的第一步是定义模型-数据库结构设计和附加的其他元数据。

简单的投票应用中,需要创建两个模型:问题Question和选项Choice。Question模型包括问题描述和发布时间。Choice模型有两个字段,选项描述和当前得票数。

# 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)

每个模型有一些类变量,它们都表示模型里的一个数据库字段。

每个字段都是Field类的实例,例:字符字段被表示CharField。

每个Field类实例变量的名字(如question_text)也就是字段名,在数据库会将它们作为列名。

定义某些Field类实例需要参数。例如CharField需要一个max_length参数。这个参数的用处不止于用来定义数据库结构,也用于验证数据。

使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值