django初步了解2

表的字段增删改查

	新增的字段
1.直接提供默认值 default
2.设置改字段可以为空 null=True
注意的是 不要轻易的注释models.py中任何跟数据库相关的代码
主要是跟数据库相关的代码 你在处理的时候一定要小心谨慎

数据的增删改查

数据的查
get()
1.条件存在的情况下 获取的直接是数据对象本身
2.条件不存在的情况下 会直接报错 所以不推荐你使用get方法查询数据 filter()
1.条件存在的情况下 获取到的是一个可以看成列表的数据 列表里面放的才是一个个数据对象本身
2.条件不存在的情况下 并不会报错 返回的是一个可以看成空列表的数据
3.filter括号内可以写多个参数逗号隔开 这多个参数在查询的时候 是and关系
4.filter的结果支持索引取值 但是不支持负数 并且不推荐你使用索引 推荐你使用它封装好的方法 first取第一个数据对象 数据的增
1.create()
1.括号内些关键字参数的形式 创建数据
2.该方法会有一个返回值 返回值就是当前对象本身
2.利用对象点方法的方式
user_obj = User(username='jason')
user_obj.save() # 将当前对象保存到数据库中 数据的改
1.先查询出来,然后.取值直接赋值,之后save()保存
2.用updata(修改的键=修改的值) 数据的删
1.先查询出数据对象,之后调用.delete()方法删除
2.不能直接用models.users.objects.delete(),为了安全起见,先查再删

反向解析和分组

根据某一个东西 动态解析出一个结果 该结果可以直接访问对应的url

    url(r'^test_add/', views.testadd,name='xxx')

    前端解析
{% url 'xxx' %} 后端解析
from django.shortcuts import render,HttpResponse,redirect,reverse
url = reverse('xxx') 无名分组反向解析
url(r'^test_addsajdsjkahdkjasjkdh/(\d+)/', views.testadd,name='xxx'), 前端解析
<a href="{% url 'xxx' 1 %}">222</a> 后端解析
url = reverse('xxx',args=(1,)) 有名分子反向解析
url(r'^test_addsajdsjkahdkjasjkdh/(?P<year>\d+)/', views.testadd,name='xxx'),
前端解析
<a href="{% url 'xxx' 1 %}">222</a> <a href="{% url 'xxx' year=1 %}">222</a> 后端解析
url = reverse('xxx',args=(1,)) url = reverse('xxx',kwargs={'year':123}) 注意 反向解析的别名 一定不要重复

路由分发

django里面的app可以有自己的static文件,templates文件夹,urls.py(******)   

    项目名下面的urls.py不再做路由与视图函数对应关系
而是做一个中转站 只负责将请求分发到不同的app中
然后在app的urls.py完成路由与视图函数的对应关系
from django.conf.urls import url,include url(r'^app01/',include(app01_urls)),
url(r'^app02/',include(app02_urls))

名称空间

	总路由
url(r'^app01/',include('app01.urls',namespace='app01'))
url(r'^app02/',include('app02.urls',namespace='app02')) print(reverse('app01:index'))
print(reverse('app02:index')) 通常情况下 起别名的时候 前面可以加上你的应用名

伪静态

	将动态网页假装成是静态的
这样做的目的是为了提高搜索引擎的SEO查询优先级
搜索在收录网站的时候 会优先收录看上去像是静态文件的资源 但是无论你怎么使用伪静态进行优化 你也干不过RMB玩家

虚拟环境

	通常针对不同的项目 只会安装该项目所用的模块 用不到的一概不装

    不同的项目有专门的解释器环境与之对应

    每创建一个虚拟环境 就类似于重新下载了一个纯净的python解释器

    虚拟环境不要创建太多个

django初步了解2的更多相关文章

  1. django初步了解

    目录 学前了解 wsgiref模块( web服务网关接口) 根据不同的功能拆封成不同的py文件 动静态网页 HTTP协议 django初步了解1 1.小白必会三板斧 2.静态文件配置 3.reques ...

  2. Django初步(一):安装和简单演示

    参考:Windows下安装Django:http://www.th7.cn/Program/Python/201305/136301.shtml

  3. django初步了解4

    django单表查询 必知必会13条 1.all() 查询所有 QuerySet res=models.Book.objects.all()#惰性查询 print(res) for i in res: ...

  4. django初步了解3

    目录 JsonResponse模块 form表单上传文件 FBV与CBV django settings源码分析及实际应用 模板语法 模板传值 模板过滤器 标签 if标签 for标签 with标签 自 ...

  5. Django初步完成:登录、注册、退出

    python环境:python2.7 开发工具:pycharm 项目名称:mysite5 app名称:online settings:映射app路径 INSTALLED_APPS = [ 'djang ...

  6. django初步--+urls解析

    1.静态文件配置: 你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的. 2.django如何给用户开设资源接口 ...

  7. django初步了解(一)

    安装django pip3 install django==版本号 创建一个djangp项目 django-admin startproject 项目名 目录介绍: 运行django项目: pytho ...

  8. Django初步皮毛

    Django是一个用python编写的Web框架. #Django安装 pip install Django 然后是配置环境变量,将这目录添加到系统环境变量中: C:\Python33\Lib\sit ...

  9. Django初识

    web框架 Web应用框架有助于减轻网页开发时共通性活动的工作负荷,例如许多框架提供数据库访问接口.标准样板以及会话管理等,可提升代码的可再用性.简单地说,就是你用别人搭建好的舞台来做表演,用别人做好 ...

随机推荐

  1. Python实用黑科技——以某个字段进行分组

    需求: 当前有个字典实例,你想以某个字段比如”日期”对整个字典里面的元素进行分组. 方法: itertools.groupby()函数是专门用来干这个活的.请看下面这个例子,这里有一个列表构成的字典, ...

  2. 求两个排序数组的交集和并集----时间复杂度O(n+m)

    问题: 给你两个排序的数组,求两个数组的交集. 比如: A = 1 3 4 5 7, B = 2 3 5 8 9, 那么交集就是 3 5,n是a数组大小,m是b数组大小. 思路: (1)从b数组遍历取 ...

  3. Int和Integer(课上测试)

    截图 第一段代码: 第二段代码: 两段代码出现不同结果的原因:Integer类型的取值范围为-128至128之间,小于128的数(图1)为正确,大于128的数(图2)为错误

  4. ubuntu进行apt-get时候出现Package ssh is not available, but is referred to by another package 错误

    今天在ubuntu进行ssh安装的时候,出现如下错误. Reading package lists... Done Building dependency tree... Done Package s ...

  5. Vue入门下

    使用npm创建项目,系统会自动生成一些列文件. 以慕课网上的Travel项目来说,在生成的项目文件中存在src文件夹,这个文件夹也是平时在做项目的时候用的比较多的,其他的一些配置信息更改的频率较低. ...

  6. ycache中redis主备功能设计及使用说明

    方案概述: 对于ycache-client,如下图,在一致性hash环上的每个节点都有一个备用的节点.正常情况下slave节点不参与key的分配(冷备).只有当master挂了,ycache clie ...

  7. smaller programs should improve performance RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构 区别示例

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION In this section, we l ...

  8. 012-数据结构-树形结构-哈希树[hashtree]、字典树[trietree]、后缀树

    一.哈希树概述 1.1..其他树背景 二叉排序树,平衡二叉树,红黑树等二叉排序树.在大数据量时树高很深,我们不断向下找寻值时会比较很多次.二叉排序树自身是有顺序结构的,每个结点除最小结点和最大结点外都 ...

  9. php版本:实现过滤掉广告、色情、政治相关的敏感词

    现在网络上还是很乱,尤其充斥着各种广告.色情.政治相关的内容,很明显这是不符合我们国家的法律的,所以为了一个产品能够健康长久的活下去,最好还是采用一定的策略过滤或者提醒用户不要发这种内容.不过说起来容 ...

  10. 用es6实现一个promsie

    Promise 使用方法:https://www.runoob.com/w3cnote/javascript-promise-object.html 直接上代码,相关的解释都在代码的注释里面,这里以m ...