提交 6ed9e604 编写于 作者: J jackfrued

更新了Django部分的文档

上级 5f5ebe4b
......@@ -4,10 +4,6 @@
### 主流NoSQL数据库
### Redis概述
1. Redis的安装和启动
......
此差异已折叠。
## Django 2实战-02:深入模型
## Django实战(02) - 深入模型
在上一个章节中,我们提到了Django是基于MVC架构的Web框架,MVC架构追求的是“模型”和“视图的解耦合。所谓“模型”说得更直白一些就是数据,所以通常也被称作“数据模型”。在实际的项目中,数据模型通常通过数据库实现持久化操作,而关系型数据库在很长一段时间都是持久化的首选方案,下面我们以MySQL为例来说明如何使用关系型数据库来实现持久化操作。
在上一个章节中,我们提到了Django是基于MVC架构的Web框架,MVC架构追求的是“模型”和“视图的解耦合。所谓“模型”说得更直白一些就是数据,所以通常也被称作“数据模型”。在实际的项目中,数据模型通常通过数据库实现持久化操作,而关系型数据库在很长一段时间都是持久化的首选方案,下面我们以MySQL为例来说明如何使用关系型数据库来实现持久化操作。
### 配置关系型数据库MySQL
我们继续来完善上一个章节中的OA项目,首先从配置项目使用的数据库开始。
1. 进入oa文件夹,修改项目的settings.py文件,首先将我们之前创建的应用hrs添加已安装的项目中,然后配置MySQL作为持久化方案。
1. 修改项目的settings.py文件,首先将我们之前创建的应用hrs添加已安装的项目中,然后配置MySQL作为持久化方案。
```Shell
(venv)$ cd oa
(venv)$ vim settings.py
(venv)$ cd oa/settings.py
```
```Python
......@@ -97,8 +96,7 @@
4. 可以看到,Django帮助我们创建了10张表,这些都是使用Django框架需要的东西,稍后我们就会用到这些表。除此之外,我们还应该为我们自己的应用创建数据模型。如果要在hrs应用中实现对部门和员工的管理,我们可以创建如下所示的数据模型。
```Shell
(venv)$ cd hrs
(venv)$ vim models.py
(venv)$ vim hrs/models.py
```
```Python
......@@ -137,7 +135,6 @@
5. 通过模型创建数据表。
```Shell
(venv)$ cd ..
(venv)$ python manage.py makemigrations hrs
Migrations for 'hrs':
hrs/migrations/0001_initial.py
......@@ -186,8 +183,7 @@
3. 注册模型类。
```Shell
(venv)$ cd hrs
(venv)$ vim admin.py
(venv)$ vim hrs/admin.py
```
```Python
......@@ -293,7 +289,6 @@
在了解了Django提供的模型管理平台之后,我们来看看如何从代码层面完成对模型的CRUD(Create / Read / Update / Delete)操作。我们可以通过manage.py开启Shell交互式环境,然后使用Django内置的ORM框架对模型进行CRUD操作。
```Shell
(venv)$ cd ..
(venv)$ python manage.py shell
Python 3.6.4 (v3.6.4:d48ecebad5, Dec 18 2017, 21:07:28)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
......@@ -353,6 +348,9 @@ Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> Dept.objects.get(no__exact=30)
<Dept: 运维1部>
>>>
>>> Dept.objects.filter(no=10).first()
<Dept: 研发1部>
```
排序数据。
......
## Django 2实战-03:静态资源和Ajax请求
## Django实战(03) - 静态资源和Ajax请求
基于前面两个章节讲解的知识,我们已经可以使用Django框架来实现Web应用的开发了。接下来我们就尝试实现一个投票应用,具体的需求是用户进入系统首先来到“登录页”;登录成功后可以查看到“学科介绍”页面,该页面显示了一个学校所开设的所有学科;通过点击某个学科,可以进入“讲师详情”页面,该页面展示了该学科所有讲师的详细情况,可以在该页面上给讲师点击“好评”或“差评”;对于未注册的用户,可以在登录页点击“新用户注册”进入“注册页”完成用户注册,注册成功或失败都会获得相应的提示信息,注册成功后会返回“登录页”。
......
## Django 2实战-04:表单的应用
## Django实战(04) - 表单的应用
我们继续来完成上一章节中的项目,实现“用户注册”和“用户登录”的功能。Django框架中提供了对表单的封装,而且提供了多种不同的使用方式。
......
......@@ -164,18 +164,18 @@
#### Day15 - [图像和文档处理](./Day01-15/Day15/图像和办公文档处理.md)
- 用Pillow处理图片
- 读写Word文档
- 读写Excel文件
- 生成PDF文件
- 用Pillow处理图片 - 图片读写 / 图片合成 / 几何变换 / 色彩转换 / 滤镜效果
- 读写Word文档 - 文本内容的处理 / 段落 / 页眉和页脚 / 样式的处理
- 读写Excel文件 - xlrd模块 / xlwt模块
- 生成PDF文件 - pypdf2模块 / reportlab模块
### Day16~Day20 - [Python语言进阶 ](./Day16-20/Python语言进阶.md)
- 常用数据结构
- 函数的高级用法
- 面向对象高级知识
- 迭代器和生成器
- 并发和异步编程
- 函数的高级用法 - “一等公民” / 高阶函数 / Lambda函数 / 作用域和闭包 / 装饰器
- 面向对象高级知识 - “三大支柱” / 类与类之间的关系 / 垃圾回收 / 魔术属性和方法 / 混入 / 元类 / 面向对象设计原则 / GoF设计模式
- 迭代器和生成器 - 相关魔术方法 / 创建生成器的两种方式 /
- 并发和异步编程 - 多线程 / 多进程 / 异步IO / async和await
### Day21~30 - [Web前端入门](./Day21-30/Web前端概述.md)
......@@ -185,6 +185,7 @@
- jQuery入门和提高
- Vue.js入门
- Element的使用
- Bootstrap的使用
### Day31~35 - [玩转Linux操作系统](./Day31-35/玩转Linux操作系统.md)
......@@ -204,15 +205,16 @@
- 关系型数据库概述
- MySQL的安装和使用
- SQL的使用
- DDL
- DML
- DQL
- DCL
- DDL - 数据定义语言 - create / drop / alter
- DML - 数据操作语言 - insert / delete / update / select
- DCL - 数据控制语言 - grant / revoke
- 相关知识
- 范式理论 - 设计二维表的指导思想
- 数据完整性
- 数据一致性
- 在Python中操作MySQL
- MySQL高级知识
- [NoSQL入门](./Day36-40/NoSQL入门.md)
- NoSQL概述
- 主流NoSQL数据库
- Redis概述
- Mongo概述
......@@ -220,10 +222,24 @@
#### Day41 - [快速上手](./Day41-55/01.快速上手.md)
- Web应用工作原理和HTTP协议
- Django框架概述
- 5分钟快速上手
- 使用视图模板
#### Day42 - [深入模型](./Day41-55/02.深入模型.md)
- 关系型数据库配置
- 管理后台的使用
- 使用ORM完成对模型的CRUD操作
- Django模型最佳实践
- 模型定义参考
#### Day43 - [静态资源和Ajax请求](./Day41-55/03.静态资源和Ajax请求.md)
- 加载静态资源
- 用Ajax请求获取数据
#### Day44 - [表单的应用](./Day41-55/04.表单的应用.md)
#### Day45 - [Cookie和会话](./Day41-55/05.Cookie和会话.md)
......
......@@ -46,4 +46,48 @@ PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个
![](./res/pycharm-workspace.png)
在工作窗口的右键菜单中可以找到“Run ...”和“Debug ...”菜单项,通过这两个菜单项我们就可以运行和调试我们的代码啦。建议关注一下菜单栏中的“Code”、“Refactor”和“Tools”菜单,这里面为编写Python代码提供了很多有用的帮助,我们在后面也会陆续为大家介绍这些功能。
\ No newline at end of file
在工作窗口的右键菜单中可以找到“Run ...”和“Debug ...”菜单项,通过这两个菜单项我们就可以运行和调试我们的代码啦。建议关注一下菜单栏中的“Code”、“Refactor”和“Tools”菜单,这里面为编写Python代码提供了很多有用的帮助。
### 创建Django项目
#### 专业版
PyCharm专业版提供了对Django、Flask、Google App Engine、web2py等Python Web框架以及SQL、UML、前端语言和框架、远程调试、虚拟化部署等功能的支持,如果使用PyCharm专业版,在创建项目时可以直接选择创建Django项目并设置模板语言以及放置模板页的文件夹。
![](./res/pycharm-prof-django-3.png)
创建好项目之后,打开终端输入`pip list`命令,可以看到项目所需的依赖项已经安装好了,而且可以直接点击屏幕右上方的运行或调试按钮来直接运行Django项目。
![](./res/pycharm-prof-django-2.png)
#### 社区版
PyCharm社区版只能创建Python项目,如果项目中需要Django的支持,可以自行安装依赖库并创建Django项目。
![](./res/pycharm-comm-django-1.png)
创建好Python项目之后,可以打开屏幕下方的终端(Terminal),并通过`pip install`安装Django项目的依赖项。
![](./res/pycharm-comm-django-2.png)
当然也可以在项目的设置菜单中找到解释器配置,并选择要添加的依赖项。
![](./res/pycharm-comm-django-7.png)
![](./res/pycharm-comm-django-8.png)
接下来可以在终端中输入`django-amdin startproject`指令来创建项目。
![](./res/pycharm-comm-django-3.png)
如果要运行项目,可以在终端中输入`python manage.py runserver`启动测试服务器。当然,也可以点击屏幕右上方的“Add Configuration”按钮,进入如下所示的配置界面,并点击窗口左上角的“+”来添加一个运行配置。
![](./res/pycharm-comm-django-4.png)
在配置窗口的右侧,指定要执行的脚本路径(Django项目的manage.py文件的位置)和运行参数(runserver)。
![](./res/pycharm-comm-django-5.png)
注意到窗口的右上角了吗?现在可以点击运行或调试按钮来启动测试服务器运行项目了。
![](./res/pycharm-comm-django-6.png)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册