官网教程 DjangoBook

Models 模型

  • 一个类代表一个模型

  • 类中的属性对应了对应数据表的数据

*makemirgations命令生成数据库脚本(还未同步过数据库,第一次要用到) - > migrate 生成更新对应的数据字段等(数据库内)

模型的取名不要和django.models自带的API重名(增删改查啥的)

Form 表单

 HttpResponse是返回数据给浏览器, 返回的内容可以是字符串,可以是数字,也可以是网页(渲染后的内容, 就是说一大串字符串) 
 
request是浏览器想中心发送的请求,django接收到这个请求之后,可以调用request获取到浏览器提交过来的东西。
1.写model 2.每个model对应写form 3.view中,做表单的数据验证
http://www.douban.com/note/296298497/
 
  • HttpRequest对象还有两个属性包含了用户所提交的信息: request.GET 和 request.POST。二者都是类字典对象,你可以通过它们来访问GET和POST数据。

模板 Template

{{ }} :变量

{% %}:模板标签 //通知模板系统完成某些工作的标签

1. 创建模板对象

2.模板渲染 //传递变量数据给它

*这里使用了RequestContext处理器,也可以用Context处理器实现,或render直接一步实现

**使用Django模板系统的基本规则: 写模板,创建 Template 对象,创建 Context , 调用 render() 方法

**模板中的{{}},在view里写的时候,对应的可以调用key的value属性,也可以是key的方法(名)(只能调用不需参数的方法),也可以是访问列表索引(不允许使用负数列表索引)(字典key:value)

当模板系统在变量名中遇到点时,按照以下顺序尝试进行查找:

  • 字典类型查找 (比如 foo["bar"] )

  • 属性查找 (比如 foo.bar )

  • 方法调用 (比如 foo.bar() )

  • 列表类型索引查找 (比如 foo[bar] )

**{{person.name.upper}}  也可以多层的先找person的属性name,在调用upper方法

3.基本的模板标签和过滤器

标签{% %}: //都可以多层嵌套

  • if/else/endif

*else都是可选的而已

*{% if ____ %} 标签__内接受 and , or 或者 not 关键字来对多个变量做判断 ,或者对变量取反( not )

*{% if %} 标签不允许在同一个标签中同时使用 and 和 or ,因为逻辑上可能模糊的

*一定要用 {% endif %} 关闭每一个 {% if %} 标签

  • for/endfor(循环)

*forloop.counter 就类似计数器一样不过是从0开始的

{% for item in todo_list %}
<p>{{ forloop.counter }}: {{ item }}</p>
{% endfor %}
  • ifequal/ifnotequal

*比较两个参数是否一致。参数可以用单双引号包起来

{% ifequal user currentuser %}
<h1>Welcome!</h1>
{% endifequal %}

**只有模板变量,字符串,整数和小数可以作为 {% ifequal %} 标签的参数

  • 注释

{# #}

要实现多行注释,可以使用`` {% comment %}/{% endcomment %}`` 模板标签

  • 过滤器

模板过滤器是在变量被显示前修改它的值的一个简单方法。 过滤器使用管道字符 //{{ name|lower }} name变量显示到页面上全部都是小写了

*可以有多个|;有些过滤器有参数;

【django】django深入学习笔记的更多相关文章

  1. Django RF:学习笔记(8)——快速开始

    Django RF:学习笔记(8)——快速开始 安装配置 1.使用Pip安装Django REST Framework: pip install djangorestframework 2.在Sett ...

  2. 完整的Django入门指南学习笔记4

    前言 这一章节将会全面介绍 Django 的身份认证系统,我们将实现注册.登录.注销.密码重置和密码修改的整套流程. 同时你还会了解到如何保护某些试图以防未授权的用户访问,以及如何访问已登录用户的个人 ...

  3. django初体验 学习笔记

    django环境搭建     1.安装Python     2.ipython         sudo apt-get install ipython         sudo pip instal ...

  4. 完整的Django入门指南学习笔记1

    转自[https://blog.csdn.net/qq_35554125/article/details/79462885] part 1: 前沿 教程材料一共会被分为七个部分. 此教程将从安装.开发 ...

  5. 完整的Django入门指南学习笔记7 网页自动翻译

    转自[https://simpleisbetterthancomplex.com/series/2017/10/16/a-complete-beginners-guide-to-django-part ...

  6. 完整的Django入门指南学习笔记5

    前言 欢迎来到本系列教程的第5部分,在这节课,我们将学习如何保护视图防止未登录的用户访问,以及在视图和表单中访问已经登录的用户,我们还将实现主题列表和回复列表视图,最后,将探索Django ORM的一 ...

  7. Django Web开发学习笔记(5)

    第五部分 Model 层 创建一个app工程.app和project的区别引用DjangoBook的说法是: 一个project包含很多个Django app以及对它们的配置. 技术上,project ...

  8. 完整的Django入门指南学习笔记3

    前言 在本节课中,我们将深入理解两个基本概念: URLs 和 Forms.在这个过程中,我们还将学习其它很多概念,如创建可重用模板和安装第三方库.同时我们还将编写大量单元测试. 如果你是从这个系列教程 ...

  9. 完整的Django入门指南学习笔记2

    part2: 前沿 在第一节中,我们安装了项目所需要的一切:Python3.6以及在虚拟环境中运行的Django2.0,这部分教程继续在项目上编写代码. 开始写代码前,先讨论下项目的相关背景知识,然后 ...

  10. 完整的Django入门指南学习笔记6

    前言 欢迎来到系列教程的第六部分!在这篇教程中,我们将详细探讨基于类的视图(简称CBV).我们也将重构一些现有的视图,以便利用内置的基于类的通用视图(Generic Class-Based Views ...

随机推荐

  1. I/O复用:异步聊天

    一.I/O复用 在<TCP套接字编程>的同步聊天程序中,我们看到TCP客户同时处理两个输入:标准输入和TCP套接字.考虑在客户阻塞于标准输入fgets调用时,服务器进程被杀死,服务器TCP ...

  2. App接口设计1

    http://blog.csdn.net/newjueqi/article/details/44062849 http://www.tuicool.com/articles/YNZBna http:/ ...

  3. Linux信号处理1

    函数原型 NAME signal - ANSI C signal handling SYNOPSIS #include <signal.h> typedef void (*sighandl ...

  4. poj 3468(线段树+lazy思想)

    题目链接:http://poj.org/problem?id=3468 思路:如果直接去做,每次都更新到叶子节点,那必然会TLE,我们可以采用lazy的思想:没必要每次更新都更新到叶子节点,只要有一个 ...

  5. Tomcat目录结构

    首先来了解一下Tomcat5.5的目录结构: /bin:存放windows或Linux平台上启动和关闭Tomcat的脚本文件 /conf:存放Tomcat服务器的各种全局配置文件,其中包括server ...

  6. 线段树(区间合并) POJ 3667 Hotel

    题目传送门 /* 题意:输入 1 a:询问是不是有连续长度为a的空房间,有的话住进最左边 输入 2 a b:将[a,a+b-1]的房间清空 线段树(区间合并):lsum[]统计从左端点起最长连续空房间 ...

  7. 实用Linux命令,不求最全但求实用-------磁盘使用情况du,df

    命令: df -h 输出实例: 文件系统             容量    已用  可用  已用% 挂载点 /dev/md0              9.7G  4.7G  4.6G  51% / ...

  8. Data Base MongoVue 破解治标不治本

    MongoVue  破解治标不治本 ---------解决燃眉之急 注册表中查找B1159E65-821C3-21C5-CE21-34A484D54444中的子项4FF78130 ,删除其下的三个子项 ...

  9. 如何给桌面搬家(Win XP)

    是不是习惯把一些常用的文件放在桌面上?或者接收个文件就直接放桌面了,这样用起来方便点. 可是一旦你重装系统或者恢复系统,桌面又回到了以前的状态,很多的文件就丢了.小心的话,重做系统前会做个备份.但如果 ...

  10. 《c程序设计语言》读书笔记--反转字符串

    #include "stdio.h" #define Num 100 void reverse(char words[]) { int i, j, c, n=0; while(wo ...