Django-初

news2024/11/20 6:29:45

文章目录

  • 一、Django框架介绍
  • 二、后台管理
    • 第一步:项目的创建与运行
    • 第二步:应用的创建和使用
    • 第三步: 项目的数据库模型
    • 第四步: 启用后台Admin站点管理
  • 三、前台管理
    • 第一步: URLconf 路由管理
    • 第二步: 视图函数处理业务逻辑
    • 第三步: 模板管理实现好看的HTML页面(可参考菜鸟教程)
  • 四、Django请求的生命周期


一、Django框架介绍

什么是框架?

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

Python 中常见的框架有哪些?

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

Django 框架介绍

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

Django 的安装
在线安装Django,指定版本安装:pip install django==2.2

二、后台管理

第一步:项目的创建与运行

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

(1) 创建第一个应用程序
在一个项目中可以创建一到多个应用,每个应用进行一种业务处理
创建应用的命令:
python manage.py startapp bookApp
(2) 编写第一个视图函数
在这里插入图片描述
(3) 路由规则
要在 bookApp 目录中创建一个 URLconf ,创建一个名为 urls.py

在这里插入图片描述
根据配置文件 BookManage/settings 可知路由查找的主文件是 BookManage/urls.py , 因此在该文件
添加一条 url 规则
在这里插入图片描述
(4) 效果展示
启动服务器:python manage.py runserver
在这里插入图片描述

url() 函数介绍
Django url() 可以接收四个参数,分别是两个必选参数: regex 、 view 和两个可选参数:
kwargs 、 name 。

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

第三步: 项目的数据库模型

创建数据库模型
本示例完成“图书-英雄”信息的维护,需要存储两种数据:图书、英雄
(1)图书表结构设计: 表名: Book
图书名称: title
图书发布时间: pub_date
(2)英雄表结构设计: 表名: Hero
英雄姓名: name
英雄性别: gender
英雄简介: hcontent
所属图书: hbook

数据库模型基本操作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第四步: 启用后台Admin站点管理

  • 站点分为“内容发布(后台管理)”和“公共访问(前台管理)”两部分
  • “内容发布”的部分负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力
    的工作。
  • 因此, Django 会根据定义的模型类完全自动地生成管理模块

Django 框架中有一个非常强大的应用功能: 自动管理界面。 常被Web平台管理者使用,去管理整个
Web平台。
默认情况下,在 settings.py 配置文件中 INSTALLED_APPS 包含以下应用程序,为了后续的开发,默
认这些应用程序都是包含在里面的。
在这里插入图片描述

(1). 数据库迁移
使用这些 Django 自带的应用程序,需要我们在数据库中创建一些数据表对应,然后才能使用它们。
python manage.py makemigrations
python manage.py migrate
(2). 创建管理员用户
/// 按提示输入用户名、邮箱、密码
python manage.py createsuperuser
启动服务器,通过 “127.0.0.1:8000/admin” 访问,输入上面创建的用户名、密码完成登录
进入管理站点,默认可以对 groups、users 进行管理
在这里插入图片描述
(3). 管理界面本地化
在这里插入图片描述
(4). 自定义模型加入后台管理
打开 bookApp/admin.py 文件,注册模型
from django.contrib import admin
from models import Book
admin.site.register(Book)
(5). 自定义管理页面
Django 提供了 admin.ModelAdmin 类
通过定义 ModelAdmin 的子类,来定义模型在 Admin 界面的显示方式
在这里插入图片描述
在这里插入图片描述
列表页属性性:
在这里插入图片描述
在这里插入图片描述
添加、修改页属性
在这里插入图片描述
在这里插入图片描述
关联对象
在这里插入图片描述
在这里插入图片描述
布尔值的显示
在这里插入图片描述

三、前台管理

第一步: URLconf 路由管理

在 Django 中,定义 URLconf 包括正则表达式、视图两部分 。
Django 使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图 。
注意:只匹配路径部分,即除去域名、参数后的字符串 。
在主配置文件中添加子配置文件,使主 urlconf 配置连接到子模块的 urlconf 配置文件 。

第二步: 视图函数处理业务逻辑

在 Django 中,视图对WEB请求进行回应( response )。
视图接收 reqeust 请求对象作为第一个参数,包含了请求的信息 。
视图函数就是一个Python函数,被定义在 views.py 中 。
定义完成视图后,需要配置 urlconf ,否则无法处理请求。
在这里插入图片描述
在这里插入图片描述

第三步: 模板管理实现好看的HTML页面(可参考菜鸟教程)

(1) 模板引擎配置
在这里插入图片描述
修改 BookManage/settings.py 文件,设置 TEMPLATES 的 DIRS 值(参考下图)
在这里插入图片描述
(2) 模板语法: 变量
在这里插入图片描述
(3) 模板语法: 常用标签
在这里插入图片描述
在这里插入图片描述
(4) 主页与详情页前端HTML设计
在这里插入图片描述
标题标签(除列举外,可参考菜鸟教程学习)
在这里插入图片描述
列表标签
在这里插入图片描述
图片标签
在这里插入图片描述
链接标签
在这里插入图片描述
表格标签
在这里插入图片描述
表单标签
在这里插入图片描述

四、Django请求的生命周期

  • wsgi : 封装请求后交给后端的web框架( Flask、Django )。
  • 请求中间件: 对请求进行校验或在请求对象中添加其他相关数据,例如: csrf、request.session 。
  • 路由匹配: 根据浏览器发送的不同 url 去匹配不同的视图函数。
  • 视图函数: 在视图函数中进行业务逻辑的处理,可能涉及到: ORM、Templates 。
  • 响应中间件: 对响应的数据进行处理。
  • wsgi : 将响应的内容发送给浏览器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/641057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络计算模式期末复习(一)

C/S架构 C/S架构即客户端/服务端架构。客户端包含一个或多个在用户电脑上运行的程序,客户端程序发送请求和从服务器接收的数据。服务器端主要提供数据管理、数据共享、数据及系统维护和并发控制等。 B/S架构 B/S架构即浏览器/服务器架构,是随着Intern…

图片上添加贴纸怎么做?这几种方法很简单

在图片上添加贴纸是一种非常实用的图片编辑技巧,通过添加贴纸,图片可以变得更加生动有趣,吸引人们的眼球。贴纸可以是各种形状、颜色和大小,从而丰富图片的视觉效果。例如,在一张风景照片中添加一只卡通动物的图案&…

python中golbal的使用

简介 global关键字定义了一种在局部定义全局变量的方法 python中变量分为全局变量和局部变量,局部变量也叫做内部变量内部变量只能被内部使用,无法被其他函数或者对象使用 使用 简单使用 def fn():global fn_varfn_var "Hello World"fn1()…

为什么网红餐饮都做不长久?如何解决网红餐饮店所面临的问题?

随着社交媒体的兴起,网红餐饮在近年来越来越受到人们的关注。这些网红餐饮通常有着独特的装修风格、口味或者服务方式,吸引了大量的消费者前来体验。然而,有越来越多的网红餐饮因为各种原因而不得不倒闭,这引发了人们对于网红餐饮…

cajviewer怎么转换成pdf格式,分享几个方法给大家!

CAJViewer是一款常用的文献阅读软件,它主要用于打开和阅读中国知网等数据库中的CAJ格式文件。然而,有时候我们可能需要将这些CAJ文件转换为PDF格式,以便更方便地与他人分享或者进行打印。本文将介绍两到三种将CAJViewer文件转换为PDF格式的方…

华为OD机试真题2022Q4 A + 2023 B卷(JavaJavaScript)

大家好,我是哪吒。 五月份之前,如果你参加华为OD机试,收到的应该是2022Q4或2023Q1,这两个都是A卷题。 5月10日之后,很多小伙伴收到的是B卷,那么恭喜你看到本文了,抓紧刷题吧。B卷新题库正在更…

建站记录1:开通阿里云,购买域名,安装宝塔+LAMP系统

个人建站: 因为宝塔系统(https://www.bt.cn),可以方便的部署zblog 彩色背景 什么是LAMP? Linux Apache PHP MySQL LAMP 是指Linux(操作系统) Apache (HTTP 服务器)…

batch_size对精确度和损失的影响

1 问题 在深度学习的学习过程中,模型性能对batchsize虽然没有学习率那么敏感,但是在进一步提升模型性能时,batch_size就会成为一个非常关键的参数。 batch_size对精度和损失的影响研究。 batch_size [,32,64,128,256] 不同batch_…

镕铭微电子VPU 极致降本增效实践

当前视频行业环境下,硬件芯片的机遇与挑战并存,如何使得硬件芯片产品及方案设计更好地贴近用户、服务用户及满足用户更深层次需求?本次LiveVideoStackCon 2022 北京站邀请到镕铭微电子解决方案架构总监——蔡媛Amy,为大家介绍镕铭…

【熬夜送书 | 第五期】清华社赞助 | 《MySQL系列丛书》

MySQL是什么? MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发。MySQL是最流行的关系型数据库管理系统之一,在WEB应用方面,MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。 MySQL有…

Arduino esp32 环境配置以及避坑指南

目录 环境配置安装 IDE下载固件 项目测试疑难解答micropython 固件冲突问题 环境配置 安装 IDE 参考文献:CSDN 首先下载 Arduino IDE 请注意,一定要选择 1.8 版本的,千万别用 2.0版本!!! 建议直接下载 win…

通过向量回归、随机森林回归、线性回归和K-最近邻回归将预测结果绘制成图表进行展示

文章目录 表格部分数据如下运行效果如下代码解析完整代码附件 表格部分数据如下 附件里会给出全部数据链接 运行效果如下 代码解析 import pandas as pd import numpy as np import matplotlib.pyplot as plt from matplotlib.font_manager import FontPropertiesfont FontP…

webpack自动化打包webpack-dev-server

在前面的章节中我们每次改完要打包的资源文件,和配置文件都是是输入npx webpack命令手动打包的,那么有没有什么办法可以监听到我们代码的改动,在保存时就自动打包呢? 答案是当然有,不然哪些框架的脚手架是怎么实现保存…

Redis命令-数据结构String类型和Hash类型

1. String类型 字符串类型,Redis中最简单的存储类型 底层都是字节数组形式存储,只不过是编码方式不同; 字符串类型的最大空间不能超过512m; SET/GET/MSET/MGET使用示例: INCR使用示例: INCRBY自增并指定步长…

CSS粘性定位 - 它的真正工作原理!

本文首发于微信公众号:大迁世界, 我的微信:qq449245884,我会第一时间和你分享前端行业趋势,学习途径等等。 更多开源作品请看 GitHub https://github.com/qq449245884/xiaozhi ,包含一线大厂面试完整考点、资料以及我的…

STM32单片机蓝牙APP智能温控风扇红外热释电

实践制作DIY- GC0144-蓝牙APP智能温控风扇 基于STM32单片机设计---蓝牙APP智能温控风扇 二、功能介绍: 硬件组成:STM32F103C最小系统板DS18B20温度湿度OLEDHC-05蓝牙模块SR602红外热释电人体检测5V直流风扇多个按键(开关键,下限减…

【WinForm项目】C#模拟交通信号灯|WinForm交通红绿灯

文章目录 前言一、运行效果二、界面设计三、代码:总结 前言 交通信号灯十字路口通行原理图。 实际上归类为四大类: 南北双向直行东西双向直行一对黑色粗线的左转一对红色粗线的左转。 状态逻辑图如下图所示:假定通行顺序为:南…

JavaWeb笔记(四)

前端基础 **提醒:**还没有申请到IDEA专业版本授权的同学要抓紧了,很快就需要用到。 经过前面基础内容的学习,现在我们就可以正式地进入Web开发的学习当中啦~ 本章节会讲解前端基础内容(如果已经学习过,可以直接跳到…

一文说透:低代码开发平台和零代码平台区别是什么?

低代码开发平台和零代码平台区别是什么? 一个简单的例子就可以解释清楚。 假设你想入住一套新房,回看住房变迁史: 最原始方式是:自己建造往后一点,交付“毛坯房”:开发商统一建小区,不需要自…

5本豆瓣高分Python技术书籍

Python的经典书籍有很多,推荐五本对初学者来说非常实用的入门书,豆瓣评分都在8以上。分别是: 《Python学习手册》,豆瓣8.2分《Python编程,从入门到实践》,豆瓣9.3分《Python Cookbook》,豆瓣9.…