Django2.1快速入门

本文转载自刘江Django2.1新手图文入门教程


本文面向有一些的Python基础,但刚接触web框架的Django初学者。

环境:Windows10 Python3.6 Pycharm2018 Django 2.1版 pip3


一、Django简介

百度百科:一个开放源代码的Web框架,由Python语言编写......

重点:一个大而全的框架,啥都替你考虑好了。

1. web框架介绍

具体介绍Django之前,必须先介绍Web框架的概念。

Web框架: 别人已经设定好的一个Web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。

一般Web框架的架构是这样的:

image.png-134kB

其它基于Python的Web框架,如Tornado、Flask、Webpy都是在这个范围内进行增删裁剪的。例如Tornado用的是自己的异步非阻塞通信协议,Flask则只提供了最精简和基本的框架,Django直接使用WSGI通信协议,并实现了大部分Web应用相关的功能。

2. MVC/MTV介绍

MVC:

百度百科:全名Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件工程典范,用业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

通俗解释:一种代码和文件的组织和管理形式!不要被缩写吓到了,这其实就是把代码分散到不同的文件中,把不同类型的文件又放到不同目录下的一种做法,然后取了个高大上的名字。当然,它带来的好处有很多,比如前后端分离,松耦合等等,在使用中你慢慢体会就会逐渐明白它。

其中:

  • 模型(model):定义数据库相关的内容,一般放在models.py文件中。

  • 视图(view):定义HTML等静态网页文件相关,也就是那些HTML、CSS、JS等前端的东西。

  • 控制器(controller):定义业务逻辑相关,就是你的主要代码。  

MTV:

Django觉得MVC的字面意思很别扭,不太符合它的理念,就给它改了一下。view不再是HTML相关,而是主业务逻辑V了,相当于控制器。HTML被放在Templates中,称作模板T,于是MVC就变成了MTV。这其实就是一个文字游戏,和MVC本质上是一样的,换了个名字和叫法而已,换汤不换药。

3. Django的MTV模型组织

目录分开,就必须有机制将他们在内里进行耦合。在Django中,典型的业务流程如下图所示:

image.png-164.5kB

二、Django项目实例

1. 程序安装

Python3.6、pip3及Pycharm请自行安装。

(1)安装Django:

这里只介绍较为简单的pip3命令安装方式。

win+r,调出cmd,运行命令pip3 install django,自动安装Pypi提供的最新版本。

image.png-23.3kB

安装过程如下图所示:

C:\Windows\system32>pip3 install django
Collecting django
  Using cached https://files.pythonhosted.org/packages/51/1a/e0ac7886c7123a03814178d7517dc822af0fe51a72e1a6bff26153103322/Django-2.1-py3-none-any.whl
Collecting pytz (from django)
  Using cached https://files.pythonhosted.org/packages/30/4e/27c34b62430286c6d59177a0842ed90dc789ce5d1ed740887653b898779a/pytz-2018.5-py2.py3-none-any.whl
Installing collected packages: pytz, django
  The script django-admin.exe is installed in 'c:\program files\python36\Scripts' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed django-2.1 pytz-2018.5

注意:

  • 建议升级一下pip3,命令python -m pip install --upgrade pip
  • 如果你以前安装过django,则会使用先前缓存的安装文件
  • 使用cmd,请以管理员身份运行,否则可能出现权限问题

(2)配置系统环境

成功安装Django后,在下图中的路径可找到django-admin.exe文件,将它加入操作系统环境变量中。这样以后调用会比较方便。

image.png-43.4kB

image.png-41kB

image.png-9.9kB

运行django-admin help,能看到下面的内容表示安装过程OK。

image.png-30.2kB

或者进入Python交互式环境(注意一定要进入刚才安装了Django的Python解释器),按下面所示查看安装版本:

>>> import django
>>> django.get_version()
2.1

再或者使用pip list命令,查看是否存在Django模块。

2. 创建Django项目

在Linux等命令行界面下,使用Django提供的命令和vim也能进行项目开发。但是这里推荐使用Pycharm这个目前最好的Python开发IDE,它功能强大,界面友好。(下面所有的操作都在Pycharm中进行。)

点击file-->new project,出现下面的对话框。

image.png-71.9kB

选择Django栏目,输入项目名称,这里采用国际惯例的mysite。选择先前安装好Django2.1的Python解释器版本,点击create创建。(注:这里暂不考虑虚拟环境问题)

选择open in current window,在当前窗口打开。

Django将自动生成下面的目录结构:

image.png-33.7kB

与项目同名的mysite目录中是项目核心文件。templates目录是HTML文件存放处(这是Pycharm安利给我们的),也就是MTV中的T。manage.py是Django项目管理文件。

image.png-36kB

3. 创建APP

在每个Django项目中可以包含多个APP,相当于一个大型项目中的分系统、子模块、功能部件等等,相互之间比较独立,但也可以有联系。所有的APP共享项目资源。

在Pycharm下方的Terminal终端中输入命令:

python manage.py startapp login

这样就创建了一个叫做login的APP,django自动生成“login”文件夹,及一系列文件:

image.png-25.7kB

image.png-20.6kB

4. 编写路由

路由是浏览器输入url,在Django服务器响应url的转发中心。路由都写在urls文件里,它将浏览器输入的url映射到相应的业务处理逻辑也就是视图。简单的urls编写方法如下图:

image.png-137.1kB

5. 编写视图函数

路由转发用户请求到视图函数。视图函数处理用户请求,也就是编写业务处理逻辑,一般都在views.py文件里。我们下面写一个简单的视图函数:

image.png-97.8kB

通过上面两个步骤,我们将index这个url指向了views里的index()视图函数,它接收用户请求,并返回一个“hello world”字符串。

6. 运行web服务

现在我们已经可以将web服务运行起来了。

命令行的方式是:

python manage.py runserver 127.0.0.1:8000

但在Pycharm中,你可以这么干,在上部工具栏中找到下面图示的图标。

image.png-8.4kB

点击下拉箭头:

image.png-9.3kB

点击edit configuration

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值