最近在学习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 P1821 [USACO07FEB]银牛派对Silver Cow Party】 题解

    题目链接:https://www.luogu.org/problemnew/show/P1821 反向多存一个图,暴力跑两遍 #include <cstdio> #include < ...

  2. How to Create a Basic Plugin

    Sometimes you want to make a piece of functionality available throughout your code. For example, per ...

  3. SpringBoot非官方教程 | 第二十二篇: 创建含有多module的springboot工程

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springbot22-modules/ 本文出自方志朋的博客 这篇文 ...

  4. MySQL数据库操作基础

    .MySQL 是什么? )软件(Software):工具(解决问题) )数据库管理系统(DBMS) )关系型(Relation)数据库管理系统(RDBMS):类似Oracle 扩展:db-engine ...

  5. JSP静态包含和动态包含

    JSP中有两种包含: 静态包含:<%@include file="被包含页面"%>: 动态包含:<jsp:include page="被包含页面&quo ...

  6. 关于 NSData 的数据类型(2进制,16进制之间)及深入剖析(转)

    . NSData 与 NSString NSData-> NSString NSString *aString = [[NSString alloc initWithData:adataenco ...

  7. java各种业务解决方案总结

    最近有点时间,突然感慨良多,感觉辛苦工作这么久什么都没有,总结了以前的工作,将接触的主要工具列出来,希望给大家解决问题做参考.相关工具都是实践检验过的 1.数据库 (1).内存数据库 redis (2 ...

  8. NPM 常见错误

    找不到兼容版本 你有一个过时的npm.请更新到最新稳定的npm. 权限错误 npm ERR! code EPERM npm ERR! code EACCES 修复缓存的权限sudo chown -R ...

  9. 【PTA 天梯赛训练】词频统计(map+vector)

    请编写程序,对一段英文文本,统计其中所有不同单词的个数,以及词频最大的前10%的单词. 所谓“单词”,是指由不超过80个单词字符组成的连续字符串,但长度超过15的单词将只截取保留前15个单词字符.而合 ...

  10. Cent-OS——服务状态

    查看MySQL状态: systemctl start mysqld #启用 systemctl stop mysqld #关闭 systemctl restart mysqld #重启MySQL服务 ...