1. In Django parlance, a project is the final product, and it assembles one or more applications together.
  2. Manage.py is a pointer back to Django-admin.py with an environment variable set, pointing to your project as the one to read settings from and operate on when needed
  3. Settings.py is where you’ll configure your project. It has a few sensible defaults, but no database chosen when you start.
  4. Urls.py contains the URL to view mappings.
  5. Wsgi.py is a WSGI wrapper for your application.
  6. Beginning in Django 1.4, apps are placed alongside project packages.
  7. Models.py will contain the Django ORM models for your app.
  8. Views.py will contain the View code
  9. Tests.py will contain the unit and integration tests you write
  10. Django models map to a database table, and provide a place to encapsulate business logic. All models subclass the base Model
  11. The INSTALLED_APPS setting lists the applications that the project uses. These are listed as strings that map to Python packages. Django will import each and looks for a models there.
  12. By default Django will name your tables using a combination of the application name and model name.
  13. Django adds an id field as the primary key for your model, unless you specify a primary key.
  14. The syncdb manage command creates the tables in your database from models.
  15. The model Manager allows you to operate on the collection of instanes: querying, creating, etc
  16. Write unit tests for methods you add to the model
  17. The test manage command runs the unit tests.
  18. Django Views take an HTTP Request and return an HTTP Response to the user.
  19. Any Python callable can be a view. The only hard and fast requirement is that it takes the request object (customarily named request) as its first argument.
  20. Generic Views have always provided some basic functionality: render a template, redirect, create or edit a model.
  21. The URL configuration tells Django how to match a request’s path to your Python code. Django looks for the URL configuration, defined as urlpatterns, in the urls.py file in your project.
  22. By default Django will look for templates in applications, as well as in directories you specify in settings.TEMPLATE_DIRS.
  23. Most generic views that do form processing have the concept of the “success URL”: where to redirect the user when the form is successfully submitted.
  24. The collection of values available to a template when it’s rendered is referred to as the Context. The Context is a combination of information supplied by the view and information from context processors
  25. Django has two tools that are helpful for writing unit tests for views: the Test Client and the RequestFactory
  26. The TestClient takes a URL to retrieve, and resolves it against your project’s URL configuration. It then creates a test request, and passes that request through your view, returning the Response.
  27. Django supports adding static files at both the application and project level. Where you add them sort of depends on how tied to your specific assembly of apps they are.
  28. App specific static files are stored in the static subdirectory within the app. Django will also look in any directories listed in the STATIFFILES_DIRS setting.
  29. Django distinguishes between static site files, and user upload media.
  30. The staticfiles app is included to help manage static files and serve them during development.
  31. Static files can be included with apps, or with the project.
  32. Templates can extend one another, using block tags.
  33. A Django Form is responsible for taking some user input, validating it, and turning it into Python objects.
  34. Initial is a dictionary of values that will be used as the default values for an unbound form
  35. Forms have two different phases of validation: field and form. All the fields are validated and converted to Python objects (if possible) before form validation begins.
  36. Form validation takes place in a form’s clean() method
  37. Forms take user input, validate it, and convert it to Python objects.
  38. Django provides 3 types of fields for relating objects to each other: ForeignKey for creating one to many relationships, ManyToManyField for relating many to many, and OneToOneField for creating a one to one relationship.
  39. A FormSet is an object that manages multiple copies of the same Form(or ModelForm) in a single page.

<Effective Django>读书笔记的更多相关文章

  1. csapp读书笔记-并发编程

    这是基础,理解不能有偏差 如果线程/进程的逻辑控制流在时间上重叠,那么就是并发的.我们可以将并发看成是一种os内核用来运行多个应用程序的实例,但是并发不仅在内核,在应用程序中的角色也很重要. 在应用级 ...

  2. CSAPP 读书笔记 - 2.31练习题

    根据等式(2-14) 假如w = 4 数值范围在-8 ~ 7之间 2^w = 16 x = 5, y = 4的情况下面 x + y = 9 >=2 ^(w-1)  属于第一种情况 sum = x ...

  3. CSAPP读书笔记--第八章 异常控制流

    第八章 异常控制流 2017-11-14 概述 控制转移序列叫做控制流.目前为止,我们学过两种改变控制流的方式: 1)跳转和分支: 2)调用和返回. 但是上面的方法只能控制程序本身,发生以下系统状态的 ...

  4. CSAPP 并发编程读书笔记

    CSAPP 并发编程笔记 并发和并行 并发:Concurrency,只要时间上重叠就算并发,可以是单处理器交替处理 并行:Parallel,属于并发的一种特殊情况(真子集),多核/多 CPU 同时处理 ...

  5. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  6. 读书笔记--SQL必知必会18--视图

    读书笔记--SQL必知必会18--视图 18.1 视图 视图是虚拟的表,只包含使用时动态检索数据的查询. 也就是说作为视图,它不包含任何列和数据,包含的是一个查询. 18.1.1 为什么使用视图 重用 ...

  7. 《C#本质论》读书笔记(18)多线程处理

    .NET Framework 4.0 看(本质论第3版) .NET Framework 4.5 看(本质论第4版) .NET 4.0为多线程引入了两组新API:TPL(Task Parallel Li ...

  8. C#温故知新:《C#图解教程》读书笔记系列

    一.此书到底何方神圣? 本书是广受赞誉C#图解教程的最新版本.作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式.朴实简洁的文字,并辅之以大量表格和代码示例,全面.直观地阐述了C#语言的各种 ...

  9. C#刨根究底:《你必须知道的.NET》读书笔记系列

    一.此书到底何方神圣? <你必须知道的.NET>来自于微软MVP—王涛(网名:AnyTao,博客园大牛之一,其博客地址为:http://anytao.cnblogs.com/)的最新技术心 ...

  10. Web高级征程:《大型网站技术架构》读书笔记系列

    一.此书到底何方神圣? <大型网站技术架构:核心原理与案例分析>通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计 ...

随机推荐

  1. RHEL7 禁用gnome-inital-setup

    每次登陆系统后,都会跳出页面gnome-inital-setup 如果觉得讨厌,可以禁止该页面的出现: mkdir ~/.config echo "yes" >> ~/ ...

  2. appium简明教程(5)——appium client方法一览

    appium client扩展了原生的webdriver client方法 下面以java代码为例,简单过一下appium client提供的适合移动端使用的新方法 resetApp() getApp ...

  3. Java原理之HashMap

    一下JDK1.7测试没问题,1.8就不一样了,应该散列的更优化. 最近看了很多java底层之HashMap的原理,根据自己的实现如下: package com.gmq.chapter02; impor ...

  4. [转] JDBC中的Statement和PreparedStatement的区别

    以Oracle为例吧 Statement为一条Sql语句生成执行计划,如果要执行两条sql语句select colume from table where colume=1;select colume ...

  5. 转 分享我在阿里工作十年接触过Java框架设计模式

    转 原文: 分享我在阿里工作十年接触过Java框架设计模式 一.前言 说起来设计模式,大家应该都耳熟能详,设计模式代表了软件设计的最佳实践,是经过不断总结提炼出来的代码设计经验的分类总结,这些模式或者 ...

  6. kafak manager + zookeeper + kafka 消费队列快速清除

    做性能测试时,kafka消息队列比较长,让程序自己消费完毕需要等待很长时间.就需要快速清理kafka队列 清理方式把 这kafak manager + zookeeper + kafka 这些应用情况 ...

  7. django ---- models继承

    django 中各个models之前可以有继承关系.这种继承关系又可以分成三种情况: 1.简单继承 2.抽象继承 3.代理 一.简单继承: model定义 from django.db import ...

  8. 交叉验证(CrossValidation)方法思想简介[zz]

    以下简称交叉验证(Cross Validation)为CV.CV是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(dataset)进行分组,一部分做为训练集(train se ...

  9. PHP实现JS的无符号右移(>>>)

    举例: JS: 5>>>2 PHP function uright($a, $n) { $c = 2147483647 >> ($n - 1); return $c &a ...

  10. 怎么在eclipse中安装svn插件

    Subclipse   Subclipse is an Eclipse Team Provider plug-in providing support for Subversion within th ...