Django入门-项目创建与初识子应用

一、预备知识

HTTP协议的认识

HTTP协议就是客户端和服务端之间数据传输的格式规范,格式简称为“超文本传输协议”。

  • 基于TCP/IP
    (1)HTTP是一个属于应用层的面向对象的协议
    (2)HTTP协议工作于客户端-服务端架构上。

  • 基于请求-相应模式
    (1)浏览器为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求
    (2)WEB服务根据接收到的请求后,向客户端发送响应信息。
    在这里插入图片描述

为什么说HTTP协议是无状态协议?

HTTP是一种不保存状态,即无状态(stateless)协议。HTTP协议自身不对请求和响应之间的通信状态进行保存。
在这里插入图片描述

怎么解决HTTP协议无状态协议?

无状态协议解决办法:

  • 通过Cookie
  • 通过Session会话保存
    在这里插入图片描述

Http请求中常见的请求方式

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。

  • HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。
  • HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。
    在这里插入图片描述

MVC模式和MTV模式

MVC 模式
MVC 就是把Web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式
连接在一起,模型负责业务对象与数据库的映射( ORM ),视图负责与用户的交互(页面),控制器接受用户
的输入调用模型和视图完成用户的请求。
在这里插入图片描述
MTV 模式
MTV模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,在
Python的世界中,基本(除了Pylons)都使用了 MVC 的变种 MTV (Model Templates View 模型-模板视图)。
Django 的MTV分别是值:

  • M 代表模型(Model): 负责业务对象和数据库的关系映射( ORM )。
  • T 代表模板 (Template):负责如何把页面展示给用户( html )。
  • V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
    除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:
    在这里插入图片描述

二、Django 快速入门

Django框架介绍

什么是框架?

  • 软件框架就是为实现或完成某种软件开发时,提供了一些基础的软件产品,
  • 框架的功能类似于 基础设施 ,提供并实现最为基础的软件架构和体系
  • 通常情况下我们依据框架来实现更为复杂的业务程序开发二个字,框架就是程序的骨架

Python 中常见的框架有哪些?

  • 大包大揽 Django 被官方称之为完美主义者的Web框架。
  • 力求精简 web.py 和 Tornado
  • 新生代微框架 Flask 和 Bottle

Django 框架介绍

  • Django 是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计。
  • 由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此您可以专注于编写应用程序,而无需重新创建轮子。
  • 免费的和开源的。
  • 被官方称之为完美主义者的Web框架。
    官方网址:django

Django 框架的特点

在这里插入图片描述

Django 可以使用什么Python版本?

在这里插入图片描述
Django 的开发版本
在这里插入图片描述

Django 的安装

如果速度慢的话可以-i 指定国内的源,
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/

在线安装Django,指定版本安装
pip install django

三、Django快速入门 —后台管理

第一步:创建并运行Django项目

在这里插入图片描述
运行

python manage.py runserver    

在这里插入图片描述访问http://127.0.0.1:8000/
在这里插入图片描述

第二步:应用的创建和使用

(1) 创建第一个应用程序

  • Django 自带一个实用程序,可以自动生成应用程序的基本目录结构,因此您可以专注于编写代码而不是创建目录。
  • 在一个项目中可以创建一到多个应用,每个应用进行一种业务处理
  • 创建应用的命令:
python manage.py startapp bookApp

在这里插入图片描述

启用后台Admin 站点管理

  • 站点分为“内容发布(后台管理)”和“公共访问(前台管理)”两部分
  • “内容发布”的部分负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力的工作。
  • 因此, Django 会根据定义的模型类完全自动地生成管理模块
    Django 框架中有一个非常强大的应用功能: 自动管理界面。 常被Web平台管理者使用,去管理整个
    Web平台。
    默认情况下,在 settings.py 配置文件中 INSTALLED_APPS 包含以下应用程序,为了后续的开发,默
    认这些应用程序都是包含在里面的。
应用程序 功能
django.contrib.admin 管理网站
django.contrib.auth 认证管理
django.contrib.contenttypes 内容类型的框架
django.contrib.sessions 会话框架
django.contrib.messages 消息框架。
django.contrib.staticfiles 管理静态文件的框架

(0). 数据库迁移
使用这些 Django 自带的应用程序,需要我们在数据库中创建一些数据表对应,然后才能使用它们。

python manage.py makemigrations
python manage.py migrate

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
http://127.0.0.1:8000/admin
在这里插入图片描述
(1). 创建管理员用户

# 按提示输入用户名、邮箱、密码
python manage.py createsuperuser

在这里插入图片描述

  • 启动服务器,通过 “127.0.0.1:8000/admin” 访问,输入上面创建的用户名、密码完成登录
  • 进入管理站点,默认可以对 groups、users 进行管理
    在这里插入图片描述
    (2). 管理界面本地化
    编辑 settings.py 文件,设置编码、时区
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

在这里插入图片描述
在这里插入图片描述
(2) 编写第一个视图函数
我们来写第一个视图。打开文件 bookApp/views.py 并放入以下Python代码:

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
# 视图:对用户的请求(request)进行业务逻辑操作,最总返回给用户响应(reponse)
def index(request):
    print("用户请求的路径:",request.path)
    return HttpResponse('首页信息')

打开文件BookMange/urls.py,加入以下代码

from bookApp.views import index
urlpatterns = {
    
    
    path('admin/', admin.site.urls),
    path('index/', index),
}

访问127.0.0.1:8000/index/
在这里插入图片描述
(3) 路由规则
要在 bookApp 目录中创建一个 URLconf ,创建一个名为 urls.py 。如下所示:

from django.conf.urls import url
from . import views
urlpatterns = [
# 当用户访问bookApp应用的主页时, 执行视图函数index,反向根据名称获取url地址;
url(r'', views.index, name='index'),
]

根据配置文件 BookManage/settings 可知路由查找的主文件是 BookManage/urls.py , 因此在该文件
添加一条 url 规则:

from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
# 当用户访问的url地址以book, 请访问bookApp.urls这个url配置文件进行匹配并执行对应的视图函数.
#当用户访问请求路径为book/时,访问bookApp.urls.py子路由配置文件
url(r'book/', include('bookApp.urls')),
]

(4) 效果展示

  • 启动服务器
 python manage.py runserver

在这里插入图片描述

  • 访问 url 地址: http:// 127.0.0.1:8000/book/ 如果看到主页内容 图书管理系统 即成功。
    在这里插入图片描述
  • 可以通过html将页面变得好看,改变字体大小颜色等。。。。
    编写视图的 bookApp/views.py
def index(request):
    print("用户请求的路径:",request.path)
    return HttpResponse('<h1 style="color:green">首页信息</h1>')

在这里插入图片描述
url() 函数介绍
Django url() 可以接收四个参数,分别是两个必选参数: regex 、 view 和两个可选参数:kwargs 、 name 。

  • regex : 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
  • view : 用于执行与正则表达式匹配的 URL 请求。
  • kwargs : 视图使用的字典类型的参数。
  • name : 用来反向获取 URL。

猜你喜欢

转载自blog.csdn.net/Sun__s/article/details/114465415
今日推荐