Django项目创建与配置

一、web介绍
web指的是网络,web应用开发指的是基于网络的应用程序开发。
Web应用开发分为web前端开发和web后端开发。
Web前端开发:我们可以简单的理解为开发一些网页。
Web后端开发:写一些逻辑判断程序。
当用户发出请求给我们写的程序,程序根据用户的请求做出相应的判断,然后返回给客户相应的内容。
(一)软件开发架构
两个程序之间通讯的应用大致可以分为两种:
第一种是应用类程序:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用
第二种是web类程序:用户只需要浏览器即可访问程序。常见的web类应用程序
比如百度、知乎、CSDN等使用浏览器访问就可以直接使用。
不管是应用类程序还是web类程序,这些应用的本质其实都是两个程序之间的通讯。
而这两个分类又对应了两个软件开发的架构~
1、客户端服务器概念
客户端:就是我们常用的程序例如qq、微信,浏览器等等。
服务器:要一直运行着给别人提供服务的机器。
例如现在我使用的CTS软件给同学们提供服务,我的电脑就是服务端(服务器)。
2、C/S架构
C/S即:Client与Server ,中文意思:客户端与服务器端架构。
这里的客户端一般泛指客户端应用程序exe,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。
Django项目创建与配置_第1张图片
3、B/S架构
B/S即:Browser与Server,中文意思:浏览器端与服务器端架构。
只需在浏览器上通过HTTP去请求服务器端相关的资源(网页资源)。
Django项目创建与配置_第2张图片
执行流程:
浏览器发出一次请求给服务端,服务端通过逻辑判断把相应的数据发送给客户端。
依次执行上面的流程。
(二)web开发思维
Web开发所见即所得,可以很快的看到开发的效果,所有,web开发入门很轻松,但是也是一件很枯燥的事情,web开发到后期存在大量的重复代码,这些代码包括,代码重复,逻辑重复。经过总结就是对数据库数据的crud(增删改查)
增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)
二、URL简介
URL(Uniform Resource Locator):统一资源定位符,也被称为网页地址。
URL由9部分组成。一般常用的组成就5部分。
(1)传送协议。
(3)访问资源需要的凭证信息(可省略)
(4)服务器。(通常为域名,有时为IP地址)
(5)端口号。(以数字方式表示,若为HTTP的默认值“:80”可省略)
(6)路径。(以“/”字符区别路径中的每一个目录名称)
(7)查询。(GET模式的请求参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)

以http://www.baidu.com:80/news/index.html?id=250&page=1 为例, 其中:
http : 是协议;
www.baidu.com: 是服务器(域名)背后 IP地址、mac地址;
80:是服务器上的网络端口号;
/news/index.html,是路径;
?id=250&page=1,是查询(携带参数)。
以?区别路径和参数,参数使用键值对方式name=’zs’&age=10,每个键值对使用&符号链接。
三、Web框架
(一)什么是框架
框架来完成一些基础的工作,程序员在此基础上开发实现自己业务功能的代码;
把程序员从繁琐的重复性的代码中解脱出来,提交开发效率;可能这样说比较抽象,实际上web开发框架和生活中的框架的功能相同例如
在生活中框架指的我们在做一件事情的时候搭的骨架来完成基础的功能。
例如盖楼,开发商建的毛坯房就是楼的骨架,毛坯房的基础功能就是能住。如果想住的舒服用户根据自己的需求来摆放物品。例如客厅放沙发,电视。主卧放床和衣柜等等。
(二)WEB框架的本质
我们可以这样理解:所有的Web应用框架本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 一些常用框架(Django、Tornado、Flash)是对socket服务端进行的封装,使得基础功能更加完善。
(三)django框架
1、django历史介绍(了解)
Django 是从真实的应用中成长起来的,由美国堪萨斯州劳伦斯的一个 Web 开发团队编写。它诞生于 2003 年秋天,那时 Lawrence Journal-World 报社的 Web 开发者 Adrian Holovaty 和 Simon Willison 在尝试使用 Python构建应用。
World Online 团队负责制作和维护本地的几个新闻网站,在新闻界特有的快节奏开发环境中逐渐发展壮大。那些网站(包括 LJWorld.com、Lawrence.com 和 KUsports.com)的记者(和管理层)不断要求增加功能,而且整个应用要在紧张的周期内快速开发出来,通常只有几天或几小时。因此,Simon 和 Adrian 别无他法,只能开发一个节省时间的 Web 开发框架,这样他们才能在极短的截止日期之前构建出易于维护的应用。经过一段时间的开发后,那个框架已经足够驱动世界上最大的在线网站了。2005 年夏天,团队(彼时 Jacob Kaplan-Moss 已经加入)决定把框架作为开源软件发布出来。他们在 2005 年 7 月发布了那个框架,将其命名为 Django——取自爵士吉他手 Django Reinhardt。
Django是一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以最小的代价构建和维护高质量的Web应用。
2、django优缺点
Django优点:
1、django拥有完备的功能封装,好多功能不需要手动编写,调用即可
2、Django的开发效率极高
Django 缺点:
1、开发灵活度不够,如果进行定制开发,极有可能需要修改源码
2、执行的效率较低
Django通常用于在工作当中快速实现一个完整的功能,然后针对功能再进行细节开发。
四、Django安装及创建项目
(一)Django下载位置
https://www.djangoproject.com/download/
Django项目创建与配置_第3张图片
(二)命令行安装Django框架
1、下载命令:pip3 install Django==2.2.1(版本号)
Django项目创建与配置_第4张图片
2、Django的下载位置:
(1)可执行命令
Django项目创建与配置_第5张图片
(2)安装位置
Django项目创建与配置_第6张图片
3、检查是否能正常运行
Django项目创建与配置_第7张图片
提示:如果不能正常运行,检查是否添加了环境变量
Django项目创建与配置_第8张图片
(三)第一个项目Hello World
1、创建项目
(1)首先将路径切换到要创建Django项目的路径下。
(2)执行命令 django-admin startproject 项目名称
Django项目创建与配置_第9张图片
Django项目创建与配置_第10张图片
2、目录分析
Django项目创建与配置_第11张图片
(1)外层的 mysite/ 根目录是项目的容器。这个目录的名称对 Django 没有什 么作用,你可以根据喜好重命
(2)manage.py 是项目的管理文件 负责在开发模式下的项目控制,项目启动, 数据库同步
(3)内部的 mysite/ 目录是项目的 Python 包,包含项目的配置文件。
(4)init.py 是一个空文件,作用是这个目录可以被当作包使用。
(5)settings.py 是项目的整体配置文件。
(6)urls.py 是项目的 URL 配置文件。
(7)wsgi.py 是项目与 WSGI 兼容的 Web 服务器。
3、创建Hello world 程序
(3)在urls.py中配置路由设置
Django项目创建与配置_第12张图片
Django项目创建与配置_第13张图片
(4)访问项目
http://127.0.0.1:8000/hello/
Django项目创建与配置_第14张图片
3、修改端口号
python manage.py runserver 127.0.0.1:新端口号
Django项目创建与配置_第15张图片
(四)使用PyCharm安装及创建Django项目
1、使用 pycharm 安装 Django
Django项目创建与配置_第16张图片
Django项目创建与配置_第17张图片
2、创建Django项目
Django项目创建与配置_第18张图片
Django项目创建与配置_第19张图片
3、创建第一个项目Hello world。
Django项目创建与配置_第20张图片
(1)运行及其访问项目。
在这里插入图片描述
Django项目创建与配置_第21张图片
(2)修改端口
在这里插入图片描述
在这里插入图片描述
Django项目创建与配置_第22张图片
五、Django处理请求的过程
在 Web 浏览器中访问http://127.0.0.1:8000/hello/,看到“Hello world”消息,在这个过程中 Django 在背后做了什么呢?一切都从设置文件开始。
1、运行 python manage.py runserver 命令时,manage.py 脚本在内层 dj01 目录中寻找名为 settings.py 的文件。这个文件中保存着当前 Django 项目的全部配置,各个配置的名称都是大写的,例如 TEMPLATE_DIRS、DATABASES,等等。其中最重要的设置是 ROOT_URLCONF。它告诉 Django,网站的 URL 配置在哪个 Python 模块中。
Django项目创建与配置_第23张图片
2、收到针对某个 URL(假如是 /hello/)的请求时,Django 加载ROOT_URLCONF 设置指定的 URL 配置;然后按顺序检查 URL 配置中的各个 URL 模式,依次与请求的 URL 比较,直到找到匹配的模式为止。找到匹配的模式之后,调用对应的视图函数,并把一个 HttpRequest 对象作为第一个参数传给视图。(后文
会详述 HttpRequest。)如我们编写的第一个视图所示,视图函数必须返回一个 HttpResponse 对象。随后,余下的工作交给 Django 处理:把那个 Python 对象转换成正确的 Web 响应,并且提供合适的 HTTP 首部和主体(即网页的内容)。综上:

  1. 请求 /hello/。
  2. Django 查看 ROOT_URLCONF 设置,找到根 URL 配置。
  3. Django 比较 URL 配置中的各个 URL 模式,找到与 /hello/ 匹配的那个。
  4. 如果找到匹配的模式,调用对应的视图函数。
  5. 视图函数返回一个 HttpResponse 对象。
    六、视图函数简介
    (一)视图函数各个部分介绍
    1、函数名称任意,但是一般要见名知意(看见函数名称就知道做什么事情)
    2、函数至少有一个参数,一般命名为request,request参数是django.http模块中 的 HttpRequest类的一个对象,此对象包含了所有的请求信息,例如请求路 径,参数等等。
    3、返回值 HttpResponse的实例可以给浏览器返回一段文本信息。
    Django项目创建与配置_第24张图片
    (三)views.py文件
    一般我们将视图函数单独的写在一个脚本文件中,一般名称为views.py
    Django项目创建与配置_第25张图片
    Django项目创建与配置_第26张图片
    (四)返回简单的html文件
    def hello(request):

    创建简单的html页面

    html = “”" 第一个程序

    hello world

    """ return HttpResponse(html) 这样做虽然便于说明视图的工作方式,但是直接在视图中硬编码 HTML 不是个好主意。原因如下:

(1)只要想修改页面的设计就要修改 Python 代码。网站的设计肯定比底层的 Python 代码变化频繁,因此如果无需修改 Python 代码就能改变设计,那多 方便。
(2)这只是十分简单的示例。网页模板往往包含几百行 HTML 和脚本。在这样 的混乱中排错和诊断程序代码简直是噩梦。
(3)编写 Python 代码和设计 HTML 是两件不同的事,多数专业的 Web 设计 团队会把这两件事交给不同的人做(甚至不同的部门)。设计师和 HTML/CSS 程序员完成工作不应该需要编辑 Python 代码。
(4)如果编写 Python 代码的程序员和设计模板的设计师能同时工作,而不用 等到一个人编辑好包含 Python和 HTML 的文件之后再交给下一个人,工作 效率能得到提升。鉴于此,把页面的设计与 Python 代码分开,结果更简洁, 也更易于维护。为此,我们可以使用 Django 的模板系统。下一章章就讨论 这个话题。

你可能感兴趣的:(Django)