Django简介

python的三大web框架

  • Django
  • Flask
  • tornado

一、什么是web框架?

在说web框架的本质前,我们先了解web通信的本质。

B/S是的本质上是C/S架构的,遵循HTTP协议。HTTP协议是基于TCP/IP协议通信的。

浏览器请求

当浏览器向一个URL发起request请求时,数据格式遵循http协议(请求首行、请求头、请求体)。

请求首行:包括了 协议的版本、请求方式(get、post)、请求的url、请求状态码。

请求头:则由一系列KEY,VALUE的键值对组成。

请求体:包含提交的数据。(get请求没有请求体,其数据在包含在请求首行的url中)。

服务端响应

当服务器收到request请求后,应该根据request中的数据对浏览器返回不同的数据。最基本的例如:根据不同的url返回不同的html页面。

为了使服务端能收到request请求,我们需要在服务端开启socket并监听。

为了服务端能正确的响应request请求,则需要我们对request的数据进行解析。

在对请求的数据解析后,返回正确的数据。(遵循http中的响应格式)

web框架本质

web框架实际上帮我们封装了开启socket、数据解析、返回数据的类或方法。让我们能专注于编写业务逻辑,不用花很多精力在http协议上。

二、安装django

pip3 install django==1.11.11 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 可指定django的版本号。注意:python解释器和django存在版本兼容问题。笔者所用django版本为1.11.11、python解释器版本为3.6.8。建议电脑上只有一个版本的python解释器和django。

三、创建django项目

# 方式1:命令行创建。
django-admin startproject 此处为项目名
python manage.py startapp 此处为app名
# 方式2:pycharm创建

需要注意的是,通过命令行创建需要我们手动配置templates目录。

其他注意事项

django框架
	1.注意事项
		1.计算机名称不能有中文
		2.项目文件名也不要用中文
		3.一个pycharm窗口就是一个单独的完整的项目
	
	2.版本问题
		1.X
		2.X
		推荐你使用1.X版本里面的
			1.11.09~1.11.13
		如果你已经按照过不需要手动卸载 重新安会自动先卸载之前的版本再安装
	3.安装
		pip3 install django==1.11.11
	4.测试是否安装成功
		命令行输入django-admin
		
	如何创建django项目
		1.命令行
			1.创建django项目
				django-admin startproject mysite(项目名)
				效果:创建一个mysite的文件夹
					mysite
						-mysite
							--__init__.py
							--settings.py
							--urls.py
							--wsgi.py
						-manage.py
			2.启动django项目(先切换到项目目录下)
				python3 manage.py runserver # django默认的端口号是8000
			
			3.创建具有独立功能的app  通常情况下应该做到建明制衣 
				python manage.py startapp app01
					app01
						--migrations文件夹
						--__init__.py
						--admin.py
						--apps.py
						--models.py
						--tests.py
						--views.py
						
						
			"""
			1.使用命令行创建的django项目是不会自动创建templates摸版本文件夹 你只能自己手动创建
			2.命令行创建的django项目不但没有templates文件夹配置文件中也没有填写路径
				而pycharm创建的会自动添加
			"""
			--------------------------------------------------------------

	app的概念
		application 应用
		django其实是一个专注于开发app的web框架
		一个空的django项目就类似于是一所大学
		app就类似于大学里面的各个学院
		每个app其实就类似于不同的功能模块
			购物网站
				用户相关 user
					用户相关的app
				订单相关 order
					订单相关的app
				投诉相关 tousu
					投诉相关的app
		不同的功能模块推荐使用不同的app去开发
		django支持多app

原文地址:https://www.cnblogs.com/Ghostant/p/12145559.html