django命令及操作

虚拟环境、项目

创建新用户python manage.py createsuperuser(账号密码)

安装虚拟环境:pip install virtualenv

创建目录并进入:mkvirtualenv 名字

退出:deactivate

创建目录:virtualenv 目录名

激活:activate

创建项目:django-admin startproject 项目名

创建应用:python manage.py startapp 应用名

启动Django(固定的):Python manage.py runserver

Http响应状态码

100 继续;客户端继续其请求

101 切换协议

200 成功

201 已创建·

202 已接收但未处理

203 无授权信息服务器成功处理,但返回信息可能来自另一个来源

204 无内容 服务器已成功处理了请求,但没有返回任何内容

205 重置内容 服务器已成功处理,浏览器应重置文档视图

206 部分内容 服务器成功处理了get部分

300   多种选择  针对请求,服务器可执行多种操作。

301   永久移动  请求的网页已永久移动到新位置。

302   临时移动

303   查看其他位置

304   未修改 自从上次请求后,请求的网页未修改过。

305   使用代理 请求者只能使用代理访问请求的网页。

306  已经被废弃的HTTP状态码

307   临时重定向

400   错误请求  服务器不理解请求的语法。

401   未授权 请求要求身份验证。

403   禁止 服务器拒绝请求。

404   未找到 服务器找不到请求的网页。

405   方法禁用 禁用请求中指定的方法。

406   不接受 无法使用请求的内容特性响应请求的网页。

407   需要代理授权

408   请求超时  服务器等候请求时发生超时。

409   冲突  服务器在完成请求时发生冲突。

410   已删除  如果请求的资源已永久删除,服务器就会返回此响应。

411   需要有效长度 服务器不接受不含有效内容长度标头字段的请求。

412   未满足前提条件 服务器未满足请求者在请求中设置的其中一个前提条件。

413   请求实体过大 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

414   请求的 URI 过长 请求的 URI(通常为网址)过长,服务器无法处理。

415   不支持的媒体类型 请求的格式不受请求页面的支持。

416   请求范围不符合要求 如果页面无法提供请求的范围,则服务器会返回此状态代码。

417   未满足期望值 服务器未满足"期望"请求标头字段的要求。

500   服务器内部错误  服务器遇到错误,无法完成请求。

501   尚未实施 服务器不具备完成请求的功能。

502   错误网关 服务器作为网关或代理,从上游服务器收到无效响应。

503   服务不可用 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。

504   网关超时  服务器作为网关或代理,但是没有及时从上游服务器收到请求。

505   HTTP 版本不受支) 服务器不支持请求中所用的 HTTP 协议版本。 

orm对象映射关系

类对应的数据库

类名对应表名

类的属性对应字段

类的对象对应行数据

orm操作

迁移库:第一步:python manage.py makemigrations  (记录迁移)

第二步:python manage.py migrate          (执行迁移)

Django orm 将数据表变更记录转换成原生Sql的命令python mange.py sqlmigrate

进入python:python manage.py shell

导入:from 应用名.models import 表名

查看:表名.objects.all()

增加:表名.objects.create(字段名=“”,字段名=“”)

修改:1.表名.objects.filter(id=).update(字段名=“”)

  2.name=表名.objects.get(id=) name.字段名=“” name.save()保存(必须保存)

删除:表名.objects.filter(id=).delete()

orm常用字段类型

字符类型CharField() 必须提供max_length参数  max_length表示最大值

例:name=models.CharField(max_length=32,verbose_name='团队名称')

verbose_name:Django Admin管理后台页面上显示的字段名

自增int类型AutoField()例:name= models. AutoField()

邮件类型EmailField       例:name=models. EmailField()

文本类型TextField        例:name=models. TextField()

小数类型DecimalField     例:name=models. DecimalField()

  总位数:max_length=    小数点位数:decimal_places=?      

整数类型IntegerField      例:name=models. IntegerField()

日期字段DateField

例:name=models. DateField (auto_now=False,auto_now_add=False)

auto_now表示自动保存当前日期(最后修改时间)

auto_now_add表示对象创建的时间

时间字段TimeField

例:name=models. TimeField (auto_now=False,auto_now_add=False)

布尔BooleanField

例:name=models. BooleanField

日期时间字段DateTimeField

例:name=models. DateTimeField (auto_now=False,auto_now_add=False)

外键ForeignKey

例:name=models. ForeignKey(‘外键表名’, on_delete=models.CASCADE

on_delete:当关联表的记录被删除时,本表的记录会如何处理

models.CASCADE:删除所有相关的记录

models.SET_DEFAULT:设置为默认值 需要指定default选项

models.SET_NULL:将关联字段的值设置为NULL

把上传的文件的路径保存在数据库中FileField

例:name=models. FileFieldupload_to='test/'

upload_to指明上传文件的保存路径

把上传的图片的路径保存在数据库中ImageField

例:name=models. ImageField(upload_to='pic/')

orm常用字段属性

数据库表索引:db_index db_index=True

例:name=models.CharField(max_length=32, db_index=True)

不能有重复值unique unique= True

例:name=models.CharField(max_length=32, unique= True)

设置字段默认值default

例:name=models.CharField(max_length=32, default=‘默认值’)

注释verbose_name

例:name=models.CharField(max_length=32, verbose_name =‘注释’)

主键primary_key=True

例:name= models.AutoField(primary_key=True)

字段可以为空:null= True

例:name=models.CharField(null=True)

唯一:unique=True

例:name=models.CharField(unique =True)

例1SEX=(('男','男'),('女','女'))

  sex=models.CharField('学生性别',max_length=4,choices=SEX,default='男')

choices:从外面定义中选择    default:默认

orm查询语句

查询id大于某个数的记录id__gt=''

例:User.objects.filter(id__gt=2)

查询id大于等于某个数的记录id__gte=''

查询id小于某个数的记录id__lt=''

查询id小等于某个数的记录id__lte=''

查询id等于某个数的记录id__in=''      多个:id__in='[数,数,数]'

查询包含某个字符串的记录:字段名__contains='字符串'

查询包含某个字符串的记录,忽略大小写:字段名__ icontains ='字符串'

查询字段中月份为某个月的记录:字段名__ month=‘数’

排序:表名.objects.all().order_by('-字段名')     加‘-’倒序

限制条数:表名.objects.all()[数:数]

获取总条数:表名.objects.all().count()

Meta模式

class Meta:

   db_table = 'grade'#指定数据表名称

   verbose_name = '成绩'#表名的备注

ordering=['-字段名']#定义查询数据的排序规则     加‘-’倒序

admin里

list_display = (‘字段名’,‘字段名’):要展示的信息

list_display_links= (‘字段名’,‘字段名’):点击那些信息可以进入编辑页面

search_fields= (‘字段名’,‘字段名’):指定要搜索的字段,将会出现一个搜索框让管理员搜索关键词

list_filter= (‘字段名’,‘字段名’):指定列表过滤器,右边将会出现一个快捷的过滤选项

分页器

导入Paginator类,用于创建分页器from django.core.paginator import Paginator    

from 应用名.models import 类名

获取所有对象,引用数据evet_list=类名.objects.all()      evet_list:变量名

创建分页器,一页两个数据p=Paginator(evet_list,2)     

一共有多少数据:p.count            

一共有多少页:p.page_range       

获取第二页:page2=p.page(2)   

获取第二页的列表:page2.object_list    

获取第一条数据:page2.start_index()  

获取最后一条数据:page2.end_index()   

是否有上一页:page2.has_previous()  

是否有下一页:page2.has_next()    

上一页的页码:page2.previous_page_number()     

下一页的页码:page2.next_page_number()         

当前页:page2.number

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No DeBug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值