Skip to content

Commit

Permalink
更新了Django部分的文档
Browse files Browse the repository at this point in the history
  • Loading branch information
jackfrued committed May 2, 2019
1 parent 5f5ebe4 commit 6ed9e60
Show file tree
Hide file tree
Showing 17 changed files with 143 additions and 99 deletions.
4 changes: 0 additions & 4 deletions Day36-40/NoSQL入门.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@



### 主流NoSQL数据库



### Redis概述

1. Redis的安装和启动
Expand Down
124 changes: 57 additions & 67 deletions Day41-55/01.快速上手.md

Large diffs are not rendered by default.

20 changes: 9 additions & 11 deletions Day41-55/02.深入模型.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
## 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
Expand Down Expand Up @@ -97,8 +96,7 @@
4. 可以看到,Django帮助我们创建了10张表,这些都是使用Django框架需要的东西,稍后我们就会用到这些表。除此之外,我们还应该为我们自己的应用创建数据模型。如果要在hrs应用中实现对部门和员工的管理,我们可以创建如下所示的数据模型。

```Shell
(venv)$ cd hrs
(venv)$ vim models.py
(venv)$ vim hrs/models.py
```

```Python
Expand Down Expand Up @@ -137,7 +135,6 @@
5. 通过模型创建数据表。

```Shell
(venv)$ cd ..
(venv)$ python manage.py makemigrations hrs
Migrations for 'hrs':
hrs/migrations/0001_initial.py
Expand Down Expand Up @@ -186,8 +183,7 @@
3. 注册模型类。

```Shell
(venv)$ cd hrs
(venv)$ vim admin.py
(venv)$ vim hrs/admin.py
```

```Python
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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部>
```

排序数据。
Expand Down
2 changes: 1 addition & 1 deletion Day41-55/03.静态资源和Ajax请求.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Django 2实战-03:静态资源和Ajax请求
## Django实战(03) - 静态资源和Ajax请求

基于前面两个章节讲解的知识,我们已经可以使用Django框架来实现Web应用的开发了。接下来我们就尝试实现一个投票应用,具体的需求是用户进入系统首先来到“登录页”;登录成功后可以查看到“学科介绍”页面,该页面显示了一个学校所开设的所有学科;通过点击某个学科,可以进入“讲师详情”页面,该页面展示了该学科所有讲师的详细情况,可以在该页面上给讲师点击“好评”或“差评”;对于未注册的用户,可以在登录页点击“新用户注册”进入“注册页”完成用户注册,注册成功或失败都会获得相应的提示信息,注册成功后会返回“登录页”。

Expand Down
2 changes: 1 addition & 1 deletion Day41-55/04.表单的应用.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Django 2实战-04:表单的应用
## Django实战(04) - 表单的应用

我们继续来完成上一章节中的项目,实现“用户注册”和“用户登录”的功能。Django框架中提供了对表单的封装,而且提供了多种不同的使用方式。

Expand Down
44 changes: 30 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -185,6 +185,7 @@
- jQuery入门和提高
- Vue.js入门
- Element的使用
- Bootstrap的使用

### Day31~35 - [玩转Linux操作系统](./Day31-35/玩转Linux操作系统.md)

Expand All @@ -204,26 +205,41 @@
- 关系型数据库概述
- 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概述

### Day41~55 - [实战Django](./Day41-55)

#### 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)
Expand Down
Binary file added res/pycharm-comm-django-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-comm-django-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-comm-django-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-comm-django-4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-comm-django-5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-comm-django-6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-comm-django-7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-comm-django-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-prof-django-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added res/pycharm-prof-django-3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 45 additions & 1 deletion 玩转PyCharm.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,48 @@ PyCharm是由JetBrains公司开发的提供给Python专业的开发者的一个

![](./res/pycharm-workspace.png)

在工作窗口的右键菜单中可以找到“Run ...”和“Debug ...”菜单项,通过这两个菜单项我们就可以运行和调试我们的代码啦。建议关注一下菜单栏中的“Code”、“Refactor”和“Tools”菜单,这里面为编写Python代码提供了很多有用的帮助,我们在后面也会陆续为大家介绍这些功能。
在工作窗口的右键菜单中可以找到“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)

0 comments on commit 6ed9e60

Please sign in to comment.