Django Web开发指南笔记

语句VS表达式

  • python代码由表达式和语句组成,由解释器负责执行。
  • 主要区别:表达式是一个值,它的结果一定是一个python对象;如:12,1+2,int('123')
  • 结果不是对象的代码是语句,如:if、print、for

python中可变、不可变类型

  • 简单类型或者标量类型,包括整数等其他数字类型,str和unicode这样的字符串类型,以及元祖都是不可变。
  • 列表、字典、类都是可变的

  • python对象都有三个属性(类型、标识符、值)

  • 标识符:运行在解释器里所有对象都有的唯一的一个标识号

*args 和 **kwargs

  • 单*表示有元祖或list出现
  • 两个*表示有字典出现

re.match 和 re.search

  • match :只从字符串的开始与正则表达式匹配,匹配成功返回match对象,否则返回none;
  • search :将字符串的所有字串尝试与正则表达式匹配,如果所有的字串都没有匹配成功,返回none,否则返回match对象;(re.search相当于perl中的默认行为)
  • 然后再用match对象的group和groups方法获取匹配模式

import random vs from randow import choice

Package

http://www.crifan.com/pythonmodulevs_libraryvspackage/

python 的浅拷贝和深拷贝

http://www.tuicool.com/articles/nuQFbqe

python 动态实例属性

模板继承

`   {% extends "base.html" %}
{% block content %}
{% for post in posts %}
<h2>{{ post.title }}</h2>
<p>{{ post.timestamp }}</p>
<p>{{ post.body }}</p>
{% endfor %}
{% endblock %}
`

Django模型层Meta内部类详解

http://blog.chinaunix.net/uid-21633169-id-4374219.html

模板过滤器

- 日期

`
<p>{{ post.timestamp|date }}</p> `

ORM关系映射

  • 多对一: ForeignKeyField

  • 多对多: ManyToManyField(会自动创建关系表)

  • 一对一: OneToOneField

模型继承

  • 抽象基础类

抽象类不会生成数据表

  • 多表继承

被继承的类(父类)就是一张数据表,其实就是在子类和父类之间设置了一个OneToOneField。 由于这种形式的继承允许父类拥有自己的属性,Meta的继承很可能导致两端的冲突(父类的Meta会被子类继承)。

什么是鸭子类型(duck typing)

  • 关心对象是什么类型,只关心行为!
  • 比如在python中,有很多file-like的东西,比如StringIO,GzipFile,socket。它们有很多相同的方法,我们把它们当作文件使用。

中间件

视图与逻辑

视图(也叫控制器),时所有DjangoWeb应用程序的核心。在定义和使用模型的时候,我们是数据库管理员;在编写模板的时候,我们时界面设计师;而在编写视图的时候,我们才是真正的软件工程师。

Django Web开发指南笔记的更多相关文章

  1. Django web 开发指南 no such table:

    在学习django web开发指南时,发布新博客点击save后会有error提示:no such table balabalabala... 百度了一下说重新运行manage.py syncdb 就可 ...

  2. Django Web开发学习笔记(1)

    一.Python的标准类型 (1)bool型 >>> bool("") False >>> bool(None) False >>& ...

  3. django1.8.3搭建博客——2 django web 开发指南阅读笔记

    一.    django框架 1 .http封装web服务的整个过程.由请求(request)和响应(response)两部分组成. 请求的内容为URL (指向文档的路径). 响应主要为正文(body ...

  4. Django Web开发学习笔记(3)

    1.创建一个简单视图 这章是按照DgangoBook的说明.在我们创建的工程目录下面DjangoE_1(这是我为自己的工程命名的名字)新建一个view.py的文件,并在该文件下添加如下代码 from ...

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

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

  6. Django Web开发学习笔记(4)

    第四章 模板篇 上一章的内容,我们将HTML的代码和Python代码都混合在了在view.py的文件下.但是这样做的坏处无疑是明显的,引用DjangoBook的说法: 对页面设计进行的任何改变都必须对 ...

  7. python的内存管理机制 图解+Django Web开发学习笔记

    http://www.cnblogs.com/CBDoctor/p/3781078.html http://www.cnblogs.com/vamei/p/3232088.html http://bl ...

  8. [转帖]2019 简易Web开发指南

    2019 简易Web开发指南     2019年即将到来,各位同学2018年辛苦了. 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术 ...

  9. 【前端】移动端Web开发学习笔记【2】 & flex布局

    上一篇:移动端Web开发学习笔记[1] meta标签 width设置的是layout viewport 的宽度 initial-scale=1.0 自带 width=device-width 最佳实践 ...

随机推荐

  1. autofac 用法总结

    autofac官网: http://autofaccn.readthedocs.io/en/latest/getting-started/index.html autofac作为一个热门ioc框架,还 ...

  2. Linux和Cisco命令行通用快捷键。

    Ctrl a e 行首,行尾(ahead,end)Esc f b 单词首,单词尾Ctrl f b 移动光标(forward,backwards) Ctrl u k 剪切光标前所有,剪切光标后所有Ctr ...

  3. 4C 2018 福到了

    输入字符c(只含有@和空格).数字n.规模n*n的二维字符矩阵. 若倒过来的数组和原数组一样形式输出提示. 最后输出以字符c替换的字符数组. #include <bits/stdc++.h> ...

  4. CCCC L1-002. 打印沙漏【图形打印】

    L1-002. 打印沙漏 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给 ...

  5. 前端模板adminlte

    adminlet是一个前端模板,包含各种各样的功能,自己的网站可以根据需要进行修改:可以免费使用,也有收费增强版,界面如下: 参考: 1.https://adminlte.io/ 2.https:// ...

  6. linux命令lsattr、chattr、man

    1.man命令,可以查看手册 配置位置/etc/man.conf MANPATH决定手册查询位置 MANSECT决定man查询的顺序 man的查询 linux man的常用用法: man sectio ...

  7. require.js 使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Android解析聚合数据之天气预报

    免费天气预报API:https://www.juhe.cn/docs/api/id/73 ,申请APPKEY MainActivity.java <span style="font-s ...

  9. 聚合数据 iOS 项目开发实战:条码查询器

    记录下,聚合数据 iOS 项目开发实战:条码查询器:视频地址:http://www.jikexueyuan.com/course/324.html 条码查询API:https://www.juhe.c ...

  10. SM Java实现

    [摘要] 本文主要解说"国密加密算法"SM系列的Java实现方法,不涉及详细的算法剖析,在网络上找到的java实现方法比較少.切在跨语言加密解密上会存在一些问题.所以整理此文志之. ...