一、 模型

模型是Django项目的数据唯一的、权威的信息源,他包含你所存储数据的必要字段,通常每个模型对应数据库中唯一的一张表。每一个模型都是django.db.models.Model的一个Python子类。模型的每个属性都表示为数据库中的一个字段,但是在django中提供了一套自动生成的用于数据库访问的API。

这是一个模型的实例,其中class是定义一个模型,Question是这个模型的名字,Question_text是模型的名字,max_length定义模型的大小。中间的CharField和DateField在下面会介绍,运行djangoi项目效果如下:

在这个模型中每个字段都被指定成一个类属性,每一个类属型映射到一个数据库的列,下面是查看数据库中生成的表:python manage.py sqlmigrate myapp 0001。其中myapp 0001是在目录 mysite/myapp/migrations中,找到编号0001即可。例如:

二、 字段类型

CharField和TextField:class CharField(max_length=None[,**options])

这是一个用来存储从小到很大各种长度的字符长的类型,如果是很大的文本类型,可以用TextField来存储,而max_length是用来限制字符串的长度的。

IntegerFiel:class IntegerField([**options])

用来输入数字的文本框,限制大小是-2147483648到2147483647.

FloatField:class FloatField([**options])

用python的一个浮点实例来表示。

DateField:class DateField([auto_now=False,auto_now_add=false,**options])

表示日期。DateField.auto_now,每次保存对象是,自动设置该字段为当前时间,用于“最后一次修改”的时间截止,但是它总是使用当前日期,不是一个默认值,可以被覆盖。DateField.auto_now_add,当对象第一次被创建是自动设置当前时间,用于创建时间的时间戳,它总是使用当前日期,但是不可以被覆盖。在管理员站点django自动添加了一个javascript写的日历控件,和一个“today”按钮,其中包含了一个invalid_date的错误消息键。

ImageField:

classImageField([upload_to=None,height_field=None,width_field=None,max_length=100,**options])

一个插入图片的类型,其中height和width是设置图片的高度和宽度的,但是ImageField在编译的时候会调用Pillow库,所以在pycharm中要安装这个库,同时它也会创建在你的数据库中,默认最大长度是100.

BooleanField:class BooleanField()

该字段是默认表单挂件,可以设置null值,用NullBooleanField来代替,默认值是None。

实例演示:

编译效果:

三、 url的设置

在myapp中创建两个文件,分别是urls.py和views.py,urls.py中的内容复制来自mysite中的urls.py中的内容。Views.py中导入如下模块:

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » django怎么写网站