最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过。Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧~

  本篇笔记(其实我的所有笔记都是),并不会过于详细的讲解。因此如果有大家看不明白的地方,欢迎在我正版博客下留言,有时间的时候我很愿意来这里与大家探讨问题。(当然,不能是简简单单就可以百度到的问题-.-)

  我所选用的教材是《The Django Book 2.0》,本节是读完前七章的总结。


0. 本书结构

  基础部分:第一到七章,是Django的基础,内容全都需要掌握。

  高级部分:第八到十二章,是Django的高级应用,内容大部分依旧需要掌握。

  自由阅读部分:第十三到二十章,是Django的各种特性,需要哪部分取决于你的具体应用。

0+. 我的工作环境

软件名称 版本 查看方法
Operating System Ubuntu 14.10 Ubuntu机器右上角可以找到“关于这台计算机”,点进去可以看到版本
Python 2.7.8 在终端输入“python --version”
Django 1.8.0.final.0 在终端输入"python",然后依次输入"import django"和"django.VERSION"
MySQL 5.6.24 在终端输入"mysql --version",看到"Distrib 5.6.24"就对了

  这里多说一句,大家没有必要一定要和我的版本保持一直,只要大致相同即可。

  例如Django版本,现在已经更新到了1.8.3,那么就用这个就好了,和1.8.0应该大体相同。但如果你用的是1.7.x,那你就要去看《The Django Book 2.0》中的代码了,和1.8.x差别还是挺大的。

1. 基础部分知识总结

知识点 具体内容

Django安装

(Linux环境)

1. 在官网下载安装包(名如Django-1.8.3.tar.gz)

2. 解压  tar xzvf Django-*.tar.gz

3. 进入解压出的文件夹  cd Django-*

4. 安装  sudo python setup.py install

4+. 安装目录(参考)  /usr/local/lib/python2./dist-packages/Django-1.8-py2..egg/django

Django基本命令

1. 创建站点  django-admin.py startproject sitename

2. 运行站点(在manage.py所在目录)  python manage.py runserver

2+. 默认url地址  http://127.0.0.1:8000/

3. 站点调试(自动载入站点设置的交互解释器)  python manage.py shell

4. 语法检查  python manage.py check

视图和URL配置

1. 在views.py中写出视图代码

2. 在urls.py中import视图,并加入对应url

3. 运行站点,在浏览器中进入对应url即可

模板

1. 写出模板代码

2. 在settings.py中,TEMPLATES参数内的 'DIRS' 列表中,加入模板所在目录,例如  './template/'

3. 在视图中import模板,并使用模板

模型

0. 数据库安装(例如MySQL安装)

1. 创建模型对应app  python manage.py startapp appname

2. 在models.py中写出模型代码

3. 在settings.py中, DATABASES参数中,设置好数据库,例如

# Database
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'django',
'USER': 'qiqi',
'PASSWORD': 'nicai',
'HOST': '127.0.0.1',
'PORT': '',
}
}

4. 在settings.py中,INSTALLED_APPS参数中,加入模型,例如  'books',

5. 生成模型的migration  python manage.py makemigrations appname

6. 激活模型  python manage.py migrate

7. 在视图中import模型,并使用模型

8. 在admin中注册模型  admin.site.register(modelname)

Admin

1. 同步数据库(synchronise database)  python manage.py syncdb

2. 运行站点,进入管理界面  http://127.0.0.1:8000/admin/

表单

1. 做好所需设置(如email设置、CSRF设置)

2. 在forms.py中写出表单代码

3. 在视图中import表单,并使用表单

4. 在模板中实现表单(<form>标签)

2. 高级部分知识概览

  第八章:高级视图和URL配置

  第九章:模板高级进阶

  第十章:模型高级进阶

  第十一章:通用视图

  第十二章:部署Django

3. 自由阅读部分知识概览

  第十三章:输出非HTML内容

  第十四章:会话、用户和注册

  第十五章:缓存机制

  第十六章:集成的子框架django.contrib

  第十七章:中间件

  第十八章:集成已有的数据库和应用

  第十九章:国际化

  第二十章:安全


  做个总结,梳理前面的知识,也方便后面回顾。下一篇,就开始进入高级阶段了——“高级视图和URL配置”。

Django笔记 —— 基础部分总结的更多相关文章

  1. Web框架——Django笔记

    Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序   ...

  2. Django笔记 —— 模板

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  3. 老男孩武老师的Django笔记

    武老师的 Django 博客笔记 基础篇 https://www.cnblogs.com/wupeiqi/articles/5237704.html 进阶篇 https://www.cnblogs.c ...

  4. 巩固复习(Django最基础的部分_具体查看官方文档)

    Django学习路1 1.脚本不能随便运行,没准 linux 运行完就上不去了 2.pip 在 linux 上 写 pip3 同理 python 写为 python3 3.在 pycharm 上安装库 ...

  5. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  6. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  7. Python开发【第二十一篇】:Web框架之Django【基础】

    Python开发[第二十一篇]:Web框架之Django[基础]   猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...

  8. 小猪猪C++笔记基础篇(五)表达式、语句

    小猪猪C++笔记基础篇(五) 关键词:表达式.语句 本章的内容比较简单,基本上没有什么理解上的困难,都是知识上的问题.先开始想要不要写呢,本来是不准备写的,但是既然读了书就要做笔记,还是写一写,毕竟还 ...

  9. 小猪猪C++笔记基础篇(六)参数传递、函数重载、函数指针、调试帮助

    小猪猪C++笔记基础篇(六) ————参数传递.函数重载.函数指针.调试帮助 关键词:参数传递.函数重载.函数指针.调试帮助 因为一些事情以及自己的懒惰,大概有一个星期没有继续读书了,已经不行了,赶紧 ...

随机推荐

  1. luogu P1503 鬼子进村

    嘟嘟嘟 线段树好题. 其实挺水的,想暴力怎么做:每一次从这个点开始向两边扩,直到遇到第一个摧毁的房屋. 那么把暴力改成倍增,然后线段树查询区间和是否为0.时间复杂度O(nlog2n). 题解好像有线段 ...

  2. HDU 1711 Number Sequence 【KMP应用 求成功匹配子串的最小下标】

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1711 Number Sequence Time Limit: 10000/5000 MS (Java/O ...

  3. Visual Studio 发布 Windows Service小记

    第一步:新建一个Window服务 第二步:添加安装程序 第三步,配置属性信息(Account选择LocalService) 第四步,在 OnStart和OnStop方法中写上你要干的事情吧.我这里用Q ...

  4. VI编辑器查找替换

    1.Vi下进行查找 VI命令模式下:输入“/要查找的词”回车就会进入查找,你可以按“n”查找下一个,按“N”查找上一个.类似查找命令“?”与“/”的区别是“/”为向下查找,“?”为向上查找. 2.Vi ...

  5. 【luogu P1456 Monkey King】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1456 左偏树并查集不加路径压缩吧... #include <cstdio> #include & ...

  6. andorid 网络通信最简单demo

    要和后台进行通信 一开始发现接不到数据 后来发生了线程错误 在网上查到:在一些高版本中,与网络通信的操作因为要花费比较大的时间,所以应该放在单独的线程中去做. 但为什么一些网上demo没有放在单独的线 ...

  7. Android学习笔记_1_拨打电话

    1.首先需要在AndroidManifest.xml文件中加入拨打电话的权限,对应的配置文件: <?xml version="1.0" encoding="utf- ...

  8. Python 学习笔记(八)Python列表(三)

    序列 序列:数学上,序列是被排成一列的对象(或事件):这样,每个元素不是在器他元素之前,就是在其他元素之后.这里元素之间的顺序非常重要.<维基百科> 序列是Python中最基本的数据结构. ...

  9. maven settings 设置

    首页 新随笔 联系 管理 国内阿里Maven仓库镜像Maven配置文件Maven仓库速度快   国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用. 最新 ...

  10. ios学习路线—Objective-C(堆(heap)和栈(stack))

    Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,即release 栈由编译器管理自动释放的,在方法中(函数体)定义的变量通常是在栈内,因此如果你的变量要跨函数的话就 ...