Django --- 框架简介

1.Django框架

1.什么是Django框架

Django是一个高级的Python Web开发框架,为了方便人们去进行Web开发。

2.常用的Web框架

Django:大而全,自带的组件和功能非常非常多,类似于航空母舰

​ 不足之处:写一些小项目的时候可能会比较笨重(大材小用)

Flask:小而精,短小精悍,自带的组件和功能都特别特别少,基本全部依赖于第三方组件,

​ 不足之处:受限于第三方模块的影响比较大,

​ 如果将Flask所有第三方模块加起来,能够直接超过Django

Tornado:主要是异步非阻塞,这个框架在使用的时候非常快,可以用来开发游戏服务器

不同之处

a:socket部分 b:路由匹配 c:模板语法

Django:

a:用的别人的wsgiref(django默认的)

b:自己写的

c:自己写的

Flask:

a:用的是别人的werkzeug

b:自己写的

c:用的别人的jinja2

Tornado:

a,b,c 都是自己写的

2.http协议

1.四大特性:

1.基于TCP/IP作用与应用层之上的协议

2.基于请求响应

3.无状态 --- cookie,session,token

4.无连接 --- websocket长连接

2.数据格式

请求格式

请求头

请求体

3.响应状态码

用数字表示一串语言解释

4.模拟Django框架

3.Django安装

1.使用cmd安装使用

① 确认是否已经安装了Django

>>> django-admin

②新建一个项目

>>> django-admin startproject 项目名

③切换到文件目录,开启django

>>> python manage.py runserver    # runserver后边可以加ip:端口,要空一格

2.使用pycharm安装

①创建Django

new project  ---->>  Django ---->> create

②创建app

Tools ---->> run manage.py task

3.两种安装方式的区别:

1.使用cmd安装不会帮你创建templates文件夹

2.配置文件种不会帮你书写templates路径

4.配置安装使用时候需要注意事项:

使用cmd:

1.在开启Django的时候,可以使用python,也可以使用python3。

2.使用cmd创建的项目是没有templates文件夹,需要自己添加

使用pycharm创建的时候:

1.注意下载的Django版本,最好是在1.11.9~1.11.13这个区间之内

2.新下载的Django会将之前的Djanjo版本给顶掉

3.Djanjo对python3.7版本不是很兼容,有时候操作会报错

4.一定要确保同一个端口,同一个时间只能启动一个Django项目

5.Django是自动重启的,有时候报错不用担心

6.新建的app一定要在Django配置文件种注册才能生效,没有注册是不能进行使用的

5.Django文件功能:

Django项目名

项目同名的文件夹

settings.py 暴露给用户可以配置的配置文件,templates就是在这里边配置的

urls.py 路由与视图函数对应关系

manage.py Django的入口文件

migrations文件夹 所有数据库相关的记录操作

admin.py Django admin后台管理

apps.py 注册app使用

models.py 放所有数据库相关的模型

tests.py 测试文件

views.py 处理业务逻辑的视图函数

6.Django小白必会三板斧

HttpResponse 返回字符串

render 返回html页面传值,可以给html页面传值

redirect 重定向,可以写本网站,也可以写全路径

实例:

from django.shortcuts import render,HttpResponse,redirect

HttpRespons
def index(request):
    return HttpResponse('一脸懵逼')

render:
def login(request):
    user_dic = {'username':'jason','password':'123'}
    return render(request,'login.html',{'xxx':user_dic})  

redirect:
def home(request):
    return redirect('/login')  # 重定向,第一种
    return redirect('https://www.baidu.com')  # 重定向,第二种

今日学习新知识点

1.定义一个函数,传入两个形参,env,response

env:请求相关的所有数据,将http数据全部提前处理成了字典的行式

response:响应相关的所有数据

2.from wsgiref.simple import make_server

from wsgiref.simple import make_server

if __name__ == '__main__':
    server = make_server('127.0.0.1',8080,run)
    server.serve_forever()   # 启动服务端
    表示实时监听本机8080端口,一旦有请求过来,会统一交给run函数处理,(调用run函数并传参run(env,response))
原文地址:https://www.cnblogs.com/whkzm/p/11908920.html