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。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值