Model 是Django表示数据的模式,这里说明一下,django可以不需要指定数据库,因为pythont自带sqlite数据库,Django也支持各种主流的数据库存,顺便说一下sqlite。
注意:这些命令是在cmd环境下运行,也可pycharm中的终端中运行,如果没有Django包可以进行换源下载。
pip install Djagno -i https://pypi.tuna.tsinghua.edu.cn/simple
1、创建Django项目
代码如下(示例):
django-admin startproject demo
demo:是我们Django项目的名称,不代表app名称
2、创建app名称
这里要进入文件中和mamage.py保持在同级目录才可以打这个命令。
代码如下(示例):
python manage.py startapp blog
下面是我展示运行成功出现的截图
我们这里要打开models.py,刚创建的网站项目,只有models.py只有以下一行内容
from django.db import models
这里我们可以看出它是导入models作为创建数据类的基类,在此我发一下简单的示例代码
from django.db import models
from django.utils import timezone
# Create your models here.
class Post(models.Model):
title=models.CharField(max_length=200) #设置最大长度为200
slug=models.CharField(max_length=200) #设置最大长度为200
body=models.TextField() #设置为text文本
pub_date=models.DateTimeField(default=timezone.now) #设置时间这里是用一条from引的from django.utils import timezone
在这里我们可以直观看出这些数据定义的形式,定义一个Post类,参数为models.Model这样可以指定数据据表中的每一个字段的特征。常用的数据字段类型有以下
字段格式 | 参数 | 简要说明 |
CharField | max_lenget:限制该字段所允许的最大字符串长度 | 存储简短的字符串,广泛用于一行文字数据 |
DateField | Argument:描述 auto_now:当对象被保存时,自动将该字段的值设置为当前的时间,如同时间戳一样记录,对象保存时间。 auto_now_add:当对象被创建时自动将字段设置为当前时间,表示为对象创建时间 |
日期格式:datetime.data |
DateTimeField | 同上 | 日期格式:datime.datetime |
EmailField | max_length:可接受的最长字符串长度
|
可接受电子邮件地址格式的字段,由于Djnago是一个大型的pythonweb架构,所以有些数据Django已经设置好了。 |
FloatField | 浮点数字段 | |
IntegerFied | 整数字段,是通用性最高 的整数格式 | |
PostiveIntegerField | 正整数字段 | |
SlugField | max_length:可接受的最长字符串长度 | Slug 是一个报纸术语。slug是某个东西的小小标记(短签),只包含字母,数字,下划线和连字符。 |
TextField | 长文字格式,一个容量很大的文本字段. |
|
URLfield | max_length:最大字符长度 | 和CharField一样,特别用来记录完整的url网址的 |
BigIntegerField | 64位的大整数 | |
BooleanField | 布尔值,只有True/False两种 |
检查一下settings.py 中这个app项目名一定要添加到这里
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog' #这个是你在创建项目的app名称
]
代码如下(示例):
python manage.py makemigrations
代码如下(示例):
python manage.py migrate
运行成功部分截图
。
以上就是今天要讲的内容,本文仅仅简单介绍了Django的使用,还把models.py数据类型详细介绍了一下。从这里可以看出Djagno框架在web上的功能是非常强大的。