Django笔记 —— 基础部分总结
最近在学习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 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. 高级部分知识概览
第十一章:通用视图
第十二章:部署Django
3. 自由阅读部分知识概览
第十三章:输出非HTML内容
第十四章:会话、用户和注册
第十五章:缓存机制
第十六章:集成的子框架django.contrib
第十七章:中间件
第十八章:集成已有的数据库和应用
第十九章:国际化
第二十章:安全
做个总结,梳理前面的知识,也方便后面回顾。下一篇,就开始进入高级阶段了——“高级视图和URL配置”。
Django笔记 —— 基础部分总结的更多相关文章
- Web框架——Django笔记
Web框架--Django笔记 MVC和MTV MVC:Model.View.Controller MTV:Model.Template.View Django--MTV 1.创建Django程序 ...
- Django笔记 —— 模板
最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...
- 老男孩武老师的Django笔记
武老师的 Django 博客笔记 基础篇 https://www.cnblogs.com/wupeiqi/articles/5237704.html 进阶篇 https://www.cnblogs.c ...
- 巩固复习(Django最基础的部分_具体查看官方文档)
Django学习路1 1.脚本不能随便运行,没准 linux 运行完就上不去了 2.pip 在 linux 上 写 pip3 同理 python 写为 python3 3.在 pycharm 上安装库 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
- Python开发【第二十一篇】:Web框架之Django【基础】
Python开发[第二十一篇]:Web框架之Django[基础] 猛击这里:http://www.cnblogs.com/wupeiqi/articles/5237704.html Python之 ...
- 小猪猪C++笔记基础篇(五)表达式、语句
小猪猪C++笔记基础篇(五) 关键词:表达式.语句 本章的内容比较简单,基本上没有什么理解上的困难,都是知识上的问题.先开始想要不要写呢,本来是不准备写的,但是既然读了书就要做笔记,还是写一写,毕竟还 ...
- 小猪猪C++笔记基础篇(六)参数传递、函数重载、函数指针、调试帮助
小猪猪C++笔记基础篇(六) ————参数传递.函数重载.函数指针.调试帮助 关键词:参数传递.函数重载.函数指针.调试帮助 因为一些事情以及自己的懒惰,大概有一个星期没有继续读书了,已经不行了,赶紧 ...
随机推荐
- 【luogu P1821 [USACO07FEB]银牛派对Silver Cow Party】 题解
题目链接:https://www.luogu.org/problemnew/show/P1821 反向多存一个图,暴力跑两遍 #include <cstdio> #include < ...
- How to Create a Basic Plugin
Sometimes you want to make a piece of functionality available throughout your code. For example, per ...
- SpringBoot非官方教程 | 第二十二篇: 创建含有多module的springboot工程
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springbot22-modules/ 本文出自方志朋的博客 这篇文 ...
- MySQL数据库操作基础
.MySQL 是什么? )软件(Software):工具(解决问题) )数据库管理系统(DBMS) )关系型(Relation)数据库管理系统(RDBMS):类似Oracle 扩展:db-engine ...
- JSP静态包含和动态包含
JSP中有两种包含: 静态包含:<%@include file="被包含页面"%>: 动态包含:<jsp:include page="被包含页面&quo ...
- 关于 NSData 的数据类型(2进制,16进制之间)及深入剖析(转)
. NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc initWithData:adataenco ...
- java各种业务解决方案总结
最近有点时间,突然感慨良多,感觉辛苦工作这么久什么都没有,总结了以前的工作,将接触的主要工具列出来,希望给大家解决问题做参考.相关工具都是实践检验过的 1.数据库 (1).内存数据库 redis (2 ...
- NPM 常见错误
找不到兼容版本 你有一个过时的npm.请更新到最新稳定的npm. 权限错误 npm ERR! code EPERM npm ERR! code EACCES 修复缓存的权限sudo chown -R ...
- 【PTA 天梯赛训练】词频统计(map+vector)
请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词. 所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符.而合 ...
- Cent-OS——服务状态
查看MySQL状态: systemctl start mysqld #启用 systemctl stop mysqld #关闭 systemctl restart mysqld #重启MySQL服务 ...