Django---知识点:

   1、 配置文件:

      media: 
avatar = models.FileField(upload_to='avatar')#数据库里的model MEDIA_ROOT=os.path.join(BASE_DIR,"blog","media","uploads")#settings里设置 文件上传:BASE_DIR/"blog"/"media"/"uploads"/avatar/a.png#文件上传路径 客户端:
# media 配置
MEDIA_URL="/media/"
url(r'^media/(?P<path>.*)$', serve, {'document_root': settings.MEDIA_ROOT}), <img src="/media/avatar/a.png">
2、url配置:(有名分组是键值对形式传参数,无名分组) url(r'^articles/([0-9]{4})/$', views.year_archive), # year_archive(request,1990)
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive), # year_archive(request,year=1990) 3、反向解析:
in urls:
url(r'^articles/([0-9]{4})/$', views.year_archive, name='news-year-archive'),
url(r'^index/$', views.index, name='Index'), in template(模板反向解析): <a href="articles/2012/">2012 Archive</a>
<a href="{% url 'news-year-archive' 2012 %}">2012 Archive</a>#带参数的反向解析 in views(视图函数反向解析):
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect #return redirect("/index/") # hard code
return HttpResponseRedirect(reverse('Index'))#通过名字可以反向解析和上面的名字相对 4、视图函数:(表单是键值对形式) 请求对象---request:
1、HttpRequest.body: 请求元数据 2、HttpRequest.path:一个字符串,表示请求的路径组件(不含域名)
3、HttpRequest.method 5、HttpRequest.GET
6、HttpRequest.POST 7、HttpRequest.FILES 这是文件 8、HttpRequest.user : 一个 AUTH_USER_MODEL 类型的对象 这个是用在用django的原生auth表才可以使用 响应对象: return HttpResponse("") # 返回字符串实例
return render(request,"template",{"":""}) # 返回字符串实例 (**********)render函数渲染成字符串返回前端
return redirect("/index/") # 重定向 (**********) 5、模板语言:
views:
def foo():
name="yuan" l=[111,222,333]
d={"info":[obj1,obj2]}
returnr render(request,"index.html",locals()) 1、变量:{{name}}
---深度查询 句点符 {{l.0}} {{d.info.0.name}} ----过滤器:{{name|date:"Y-m-d"}} 2、标签 (for .....empty)和if ....elif
{%for i in l%}
{{i}} {%empty%}
<p>没有符合条件的书籍</p>
{%endfor%} -------- {%if name == "yuan"%}
<p>真帅</p> {%elif ...%}
{%endif%} 3、继承模板:
(1) base.html : {%block con%}{%end block con%}
(2) index.html:
{% extends "base.html"%} 继承 模板
{%block con%}
{{block.super}} 模板盒子中内容
{%end block con%} 覆盖 6、models(模型) -----ORM sql中表名--------------python的类名
sql中表的字段----------python的类属性
sql中表的记录----------python的类对象 class Article(models.Model):
nid = models.BigAutoField(primary_key=True)
title = models.CharField(max_length=50, verbose_name='文章标题')
read_count = models.IntegerField(default=0) 单表操作:
添加操作
views:
#方法1:
article_obj=models.Article.objects.create(nid=1,title="yuan",read_count=12) # create方法返回的是当前创建的文章对象
#方法2:
article_obj=models.Article(nid=1,title="yuan",read_count=12)#这是创建一个对象
article_obj.save() 删除:
models.Article.objects.filter(title="python").delete() # 默认级联删除 修改:
models.Article.objects.filter(title="python").update(read_count=F("read_count")+10) 查询API:
<1> all(): 查询所有结果 #QuerySet <2> filter(**kwargs): 它包含了与所给筛选条件相匹配的对象 #QuerySet <3> get(**kwargs): 返回与所给筛选条件相匹配的对象,返回结果有且只有一个,
如果符合筛选条件的对象超过一个或者没有都会抛出错误。 # model对象 <5> exclude(**kwargs): 它包含了与所给筛选条件不匹配的对象 #QuerySet <4> values(*field): 返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
model的实例化对象,而是一个可迭代的字典序列 #QuerySet <9> values_list(*field): 它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列 #QuerySet <6> order_by(*field): 对查询结果排序 #QuerySet <7> reverse(): 对查询结果反向排序 #QuerySet <8> distinct(): 从返回结果中剔除重复纪录 #QuerySet <10> count(): 返回数据库中匹配查询(QuerySet)的对象数量。 # int <11> first(): 返回第一条记录 # model对象 <12> last(): 返回最后一条记录 # model对象 <13> exists(): 如果QuerySet包含数据,就返回True,否则返回False querySet支持链式操作:
models.Article.objects.all().filter().values().distinct().count() {% url' '%}(可以有参数)  , {% extends "base.html"
{% load my_tags %} 

django知识点回顾(上)的更多相关文章

  1. django知识点回顾与补充

    一.django知识点回顾 1.Cookie操作 - 客户端本地存储的键值对 2.Session操作 - 3.URL路由 - /index -> view.函数 4.MTV 5.View中返回方 ...

  2. CRM项目讲解和django知识点回顾

    今天想把之前写的CRM项目梳理下,顺便回顾一下djiango的部分重要知识. 1.登录页面(包含简单验证码) 首先来看下CRM的登录页面,样式啥的不重要,大家可以去jquery ui的网站上或者其他地 ...

  3. django知识点回顾

    1.web应用 本质是基于socket实现的应用程序 浏览器-----------服务器 2.http协议:应用层协议 1.基于TCP协议 2.基于请求响应 3.短连接 4.无状态保存(引入了cook ...

  4. $Django Rest Framework-认证组件,权限组件 知识点回顾choices,on_delete

    一 小知识点回顾 #orm class UserInfo (models.Model): id = models.AutoField (primary_key=True) name = models. ...

  5. 面试前的准备---C#知识点回顾----03

    经过一天的奔波,喜忧参半,不细表 再回看下标题,C#知识点回顾 再看下内容,数据库3NF 原谅我这个标题党 今天继续回忆 1.HTTP中Post和Get区别 这忒简单了吧,大家是不是感觉到兴奋了,长舒 ...

  6. python Django知识点总结

    python Django知识点总结 一.Django创建项目: CMD 终端:Django_admin startproject sitename(文件名) 其他常用命令: 其他常用命令: 通过类创 ...

  7. Java进阶(二十六)公司项目开发知识点回顾

    公司项目开发知识点回顾 前言 "拿来主义"在某些时候并不是最佳选择,尤其是当自己遇到问题的时候,毫无头绪. 在一次实验过程中,需要实现数据库的CRUD操作.由于之前项目开发过程中, ...

  8. 零基础Python知识点回顾(一)

    如果你是小白,建议只要安装官网的python-3.7.0-amd64.exe 然后在电脑cmd命令提示符  输入检查是否已经安装pip,一般安装了python都会有的. >pip         ...

  9. Django的Model上都有些什么

    Django的Model上都有些什么 modelinfo= ['DoesNotExist', 'MultipleObjectsReturned', '__class__', '__delattr__' ...

随机推荐

  1. input type=file实现图片上传,预览以及图片删除

    背景 前两天在做一个PC网站的意见反馈,其中涉及到了图片上传功能,要求可以上传多张图片,并且支持图片上传预览及图片删除, 图片上传这一块以前没怎么搞过,而且一般也很少会碰到这样的需求,所以在做这个功能 ...

  2. 根据运算符优先级解析SQL规则表达式

    1.需求 测试数据库使用Greenplum,生产库使用GBase 普通表:存储客户数据,千万级别,结构如下 stat_date代表日期:user_id代表用户id:serial_number代表手机号 ...

  3. 2017ACM/ICPC亚洲区沈阳站(部分解题报告)

    HDU 6225 Little Boxes 题意 计算四个整数的和 解题思路 使用Java大整数 import java.math.BigInteger; import java.util.Scann ...

  4. Django组件之cookie与session

    一.引子 http协议是无状态的,就是它不会记录请求和响应的任何信息,比如你访问一个服务器的一个网页时,先要你登录一下,然后进入网页,但当你要进入这个服务器的另一个网页时,它照常不会知道刚才你已经登录 ...

  5. AutoIt介绍

    AutoIt的下载网址: https://www.autoitscript.com/site/autoit/downloads/ AutoIt在线文档:http://www.autoit3.cn/Do ...

  6. Android目录结构及作用

    1.add-ons-->Google API .比如GoogleMaps 2.build-tools-->各版本SDK编译工具. 3.docs-->离线开发者文档Android SD ...

  7. vb.net 使用NPOI控制Excel檔

    '導入命名空間 Imports NPOI.HSSF.UserModelImports NPOI.HPSFImports NPOI.POIFS.FileSystem Private Sub A1()'方 ...

  8. Java基础——Ajax(三)

    Ajax 中文乱码问题(分两种情况) 1.对于Ajax  发的 post请求,服务端只需要 : request.setCharacterEncoding("utf-8"); 2.对 ...

  9. css3火焰文字样式代码

    css样式: <style type="text/css"> body{background:#000;} *{margin:0;padding:0;transitio ...

  10. bootstrap网站后台从设计到开发之登录

    节后综合征缓了两天,今天把登录界面的主要后台代码分享给大家. protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPo ...