Django 命令操作
1、创建新建项目
python django-admin.py startproject #项目名称
pip django-imagekit
1.1项目内容
settings.py是项目的整体配置文件,系统的数据库配置、应用配置和其他配置
urls.py是项目的URL配置文件,web工程Url映射的配置
wsgi.py是项目与WSGI兼容的Web服务器入口。
manage.py是项目管理文件,通过它管理项目
子目录test_pr则是在该工程下创建的app,包含了models.py、tests.py和views.py等文件
templates目录则为模板文件的目录
manage.py是Django提供的一个管理工具,可以同步数据库等等
Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为 MTV 框架 。
在 MTV 开发模式中:
M 代表模型(Model),即数据存取层。该层处理与数据相关的所有事务:如何存取、如何确认有效性、包含哪些行为以及数据之间的关系等
T 代表模板(Template),即表现层。该层处理与表现相关的决定:如何在页面或其他类型文档中进行显示。
V代表View,业务逻辑层。这一层包含访问模型的逻辑和按照模板显示。你可以认为它是模型和模板的桥梁。
系统对app有一个约定:如果你使用了Django的数据库层(模型),你 必须创建一个django app。模型必须在这个app中存在。
#运行项目
manage.py runserver 0.0.0.0:端口号
2、新建app
python manage.py startapp #app名称
2.1app内容
admin.py文件跟网站的后台管理站点配置相关。
apps.py文件用于配置当前子应用的相关信息。
migrations目录用于存放数据库迁移历史文件。
models.py文件用户保存数据库模型类。
tests.py文件用于开发测试用例,编写单元测试。
views.py文件用于编写Web应用视图
————————————————
数据库迁移::
python manage.py makemigrations
python manage.py migrate
#字符串定义
AutoField:一个根据实际ID自动增长的IntegerField,通常不指定如果不指定,一个主键字段将自动添加到模型中
BooleanField:true/false 字段,此字段的默认表单控制是CheckboxInput
NullBooleanField:支持null、true、false三种值
CharField(max_length=字符长度):字符串,默认的表单样式是 TextInput
TextField:大文本字段,一般超过4000使用,默认的表单控件是Textarea
IntegerField:整数
DecimalField(max_digits=None, decimal_places=None):使用python的Decimal实例表示的十进制浮点数
DecimalField.max_digits:位数总数
DecimalField.decimal_places:小数点后的数字位数
FloatField:用Python的float实例来表示的浮点数
Django根据属性的类型确定以下信息:
当前选择的数据库支持字段的类型
渲染管理表单时使用的默认html控件
在管理站点最低限度的验证
使用时需要引入from django.db import models包
AutoField:自动增长的IntegerField,通常不用指定
不指定时Django会自动创建属性名为id的自动增长属性
BooleanField:布尔字段,值为True或False
NullBooleanField:支持Null、True、False三种值
CharField(max_length=字符长度):字符串
参数max_length表示最大字符个数
TextField:大文本字段,一般超过4000个字符时使用
IntegerField:整数
DecimalField(max_digits=None, decimal_places=None):可以指定精度的十进制浮点数
参数max_digits表示总位数
参数decimal_places表示小数位数
FloatField:浮点数
DateField[auto_now=False, auto_now_add=False]):日期
参数auto_now表示每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false
参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false
参数auto_now_add和auto_now是相互排斥的,组合将会发生错误
TimeField:时间,参数同DateField
DateTimeField:日期时间,参数同DateField
FileField:上传文件字段
ImageField:继承于FileField,对上传的内容进行校验,确保是有效的图片
3、创建模板文件的目录
在项目根目录下新建一个templates目录
templates == 网页文件夹
接下来我们开始一些准备工作:创建会用到的文件夹
1.在web文件下创建templates文件夹,用于存放html模板
2.在web文件夹下创建statics文件夹,用于存放一些资源文件如:样式,图片,视频等…
我们可以先写一个html和样式表备用,如
https://blog.csdn.net/qq_40887840/article/details/121692139
#django翻译 函数
from django.utils.translation import gettext_lazy as _
#文本函数更新
from django.utils.encoding import force_str
from django.utils.http import _urlparse
1.settings配置文件的INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app' #创建项目名称添加到该位置 ]
2.在models.py中定义需要生成的表格,和具体字段名称`
from django.db import models
class BookInfo(models.Model):
btitle = models.CharField(max_length=20, verbose_name=‘合同名称’)
bpub_date = models.DateField(verbose_name=‘签订日期’)
bread = models.IntegerField(default=0, verbose_name=‘甲方’)
bcomment = models.IntegerField(default=0, verbose_name=‘乙方’)
is_delete = models.BooleanField(default=False, verbose_name=‘逻辑删除’)
class Meta:
db_table = 'tb_books' # 指明数据库表名
verbose_name = '合同签章' # 在admin站点中显示的名称
verbose_name_plural = verbose_name # 显示的复数名称
def __str__(self):
"""定义每个数据对象的显示信息"""
return self.btitle`
3.使用python manage.py runsever启动服务可配置端号
4.使用python manage.py makemigrations数据迁移
5.使用python manage.py migrate创建表格字段
python django-admin.py startproject #项目名称
pip django-imagekit
1.1项目内容
settings.py是项目的整体配置文件,系统的数据库配置、应用配置和其他配置
urls.py是项目的URL配置文件,web工程Url映射的配置
wsgi.py是项目与WSGI兼容的Web服务器入口。
manage.py是项目管理文件,通过它管理项目
子目录test_pr则是在该工程下创建的app,包含了models.py、tests.py和views.py等文件
templates目录则为模板文件的目录
manage.py是Django提供的一个管理工具,可以同步数据库等等
Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为 MTV 框架 。
在 MTV 开发模式中:
M 代表模型(Model),即数据存取层。该层处理与数据相关的所有事务:如何存取、如何确认有效性、包含哪些行为以及数据之间的关系等
T 代表模板(Template),即表现层。该层处理与表现相关的决定:如何在页面或其他类型文档中进行显示。
V代表View,业务逻辑层。这一层包含访问模型的逻辑和按照模板显示。你可以认为它是模型和模板的桥梁。
系统对app有一个约定:如果你使用了Django的数据库层(模型),你 必须创建一个django app。模型必须在这个app中存在。
#运行项目
manage.py runserver 0.0.0.0:端口号
2、新建app
python manage.py startapp #app名称
2.1app内容
admin.py文件跟网站的后台管理站点配置相关。
apps.py文件用于配置当前子应用的相关信息。
migrations目录用于存放数据库迁移历史文件。
models.py文件用户保存数据库模型类。
tests.py文件用于开发测试用例,编写单元测试。
views.py文件用于编写Web应用视图
————————————————
数据库迁移::
python manage.py makemigrations
python manage.py migrate
#字符串定义
AutoField:一个根据实际ID自动增长的IntegerField,通常不指定如果不指定,一个主键字段将自动添加到模型中
BooleanField:true/false 字段,此字段的默认表单控制是CheckboxInput
NullBooleanField:支持null、true、false三种值
CharField(max_length=字符长度):字符串,默认的表单样式是 TextInput
TextField:大文本字段,一般超过4000使用,默认的表单控件是Textarea
IntegerField:整数
DecimalField(max_digits=None, decimal_places=None):使用python的Decimal实例表示的十进制浮点数
DecimalField.max_digits:位数总数
DecimalField.decimal_places:小数点后的数字位数
FloatField:用Python的float实例来表示的浮点数
Django根据属性的类型确定以下信息:
当前选择的数据库支持字段的类型
渲染管理表单时使用的默认html控件
在管理站点最低限度的验证
使用时需要引入from django.db import models包
AutoField:自动增长的IntegerField,通常不用指定
不指定时Django会自动创建属性名为id的自动增长属性
BooleanField:布尔字段,值为True或False
NullBooleanField:支持Null、True、False三种值
CharField(max_length=字符长度):字符串
参数max_length表示最大字符个数
TextField:大文本字段,一般超过4000个字符时使用
IntegerField:整数
DecimalField(max_digits=None, decimal_places=None):可以指定精度的十进制浮点数
参数max_digits表示总位数
参数decimal_places表示小数位数
FloatField:浮点数
DateField[auto_now=False, auto_now_add=False]):日期
参数auto_now表示每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false
参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false
参数auto_now_add和auto_now是相互排斥的,组合将会发生错误
TimeField:时间,参数同DateField
DateTimeField:日期时间,参数同DateField
FileField:上传文件字段
ImageField:继承于FileField,对上传的内容进行校验,确保是有效的图片
3、创建模板文件的目录
在项目根目录下新建一个templates目录
templates == 网页文件夹
接下来我们开始一些准备工作:创建会用到的文件夹
1.在web文件下创建templates文件夹,用于存放html模板
2.在web文件夹下创建statics文件夹,用于存放一些资源文件如:样式,图片,视频等…
我们可以先写一个html和样式表备用,如
https://blog.csdn.net/qq_40887840/article/details/121692139
#django翻译 函数
from django.utils.translation import gettext_lazy as _
#文本函数更新
from django.utils.encoding import force_str
from django.utils.http import _urlparse
1.settings配置文件的INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app' #创建项目名称添加到该位置 ]
2.在models.py中定义需要生成的表格,和具体字段名称`
from django.db import models
class BookInfo(models.Model):
btitle = models.CharField(max_length=20, verbose_name=‘合同名称’)
bpub_date = models.DateField(verbose_name=‘签订日期’)
bread = models.IntegerField(default=0, verbose_name=‘甲方’)
bcomment = models.IntegerField(default=0, verbose_name=‘乙方’)
is_delete = models.BooleanField(default=False, verbose_name=‘逻辑删除’)
class Meta:
db_table = 'tb_books' # 指明数据库表名
verbose_name = '合同签章' # 在admin站点中显示的名称
verbose_name_plural = verbose_name # 显示的复数名称
def __str__(self):
"""定义每个数据对象的显示信息"""
return self.btitle`
3.使用python manage.py runsever启动服务可配置端号
4.使用python manage.py makemigrations数据迁移
5.使用python manage.py migrate创建表格字段