Django框架简介
文章目录
- Django框架介绍
- MVC与MVT模型
- MVC
- MTV
- 版本问题
- 运行django注意事项
- Django的下载与基本命令
- 下载Django
- 方式一:在命令界面使用pip安装
- 方式二:使用pycharm安装
- Django的基础命令
- 命令行操作
- pycharm操作
- Django项目命令行操作与Pycharm操作的区别
- 应用
- Django目录结构
- Django小白必会三板斧
Django框架介绍
-
Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。
-
Django 是一个开放源代码的 Web 应用框架,由 Python 编写的。
-
Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0
-
Django 采用了 MVT 的软件设计模式,即模型(Model),模板(Template) 和 视图(View)
MVC与MVT模型
MVC
Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:
MTV
Django的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:
● M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
● T 代表模板 (Template):负责如何把页面展示给用户(html)。
● V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
除了以上三层之外,还需要一个URL分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template,MTV的响应模式如下所示:
一般是用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。
版本问题
django1.x: 以前的老项目在使用,它跟2.x的版本区别不是特别大django2.x:主流的项目使用的都是2.x的版本,有一点区别的跟1.xdjango3.x: 新版本了,现在有不少的项目确实在选择3.x的版本'比如:drf框架要求django的版本必须是2以上,不支持1的版本'django的版本要和你的Python的版本要匹配,django3用个2.7版本,不行django2----->python3.6以上django1----->python3.6
运行django注意事项
1.django项目中所有的文件名目录名不要出现中文2.计算机名称尽量不要出来中文3.一个pycharm只开一个Django项目,不要一个窗口打开很多个项目(不要嵌套和叠加)4.不同版本的python解释器配合不同版本的django可能会出现问题'下图根据官网展示 LTS表示官方还在维护的版本,没有表示LTS表示不会更新维护'
Django的下载与基本命令
下载Django
方式一:在命令界面使用pip安装
pip3 install django 默认最新版pip3 install django==版本号 指定版本pip3 install django==2.2.22pip下载模块会自动解决依赖问题(会把关联需要用到的模块一下下载)
方式二:使用pycharm安装
File | Settings | Project: Pycharm_Project_Test | Python Interpreter
Django的基础命令
命令行操作
1.验证django是否下载成功cmd终端输入django-admin2.创建django项目django-admin startproject 项目名3.启动django项目1.先切换到项目目录下cd 项目名2.执行启动目录python38 manage.py runserver(不加ip:port默认是使用Django的端口号8000)python38 manage.py runserver ip:port(这种是自己设定)4.访问django服务端浏览器直接访问5.创建app应用"""django框架类似于是一个空壳子 给你提供所需的资源至于到底要写哪些功能 需要通过创建app来划分eg:django初始项目可以看成是一所大学app就相当于是大学里面的各个学院"""python38 manage.py startapp 应用名(应用名要见名知意)'在启动django项目的时候 一定要确保一个端口只有一个项目(默认端口8000)'
pycharm操作
1.创建django项目
File---->New Project----->Django----创建文件路径
点击this window,遵循一个pycharm窗口只打开一个django项目
2.使用Pycharm,当初始时没创建应用文件后,使用控制台创建应用app
在初始创建项目时创建了应用文件的,可以跳过这个步骤,直接看这个下一步步骤
在创建的过程中可能会出错
(在初始创建项目时也一样),是因为Django的版本过于低,Python解释器版本过于搞造成的,只需要在配置文件中更改下图的所指示的代码即可。代码:os.path.join(BASE_DIR,‘templates’)
更改完配置文件后,重新输入创建应用的命令即可创建成功
最后就是注册应用,把应用名称加入到配置文件中相应的位置即可
3.直接点击启动按钮启动Django项目就行了,然后点击蓝色链接访问即可
当然使用控制台使用命令行启动Django项目,在控制台输入启动命令后到浏览器进行输入对应的ip和端口号即可访问了(或者直接点击控制台启动成功那块的蓝色连接也行)
Django项目命令行操作与Pycharm操作的区别
1.命令行不会自动创建templates文件夹2.命令行不会在配置文件编写关于templates文件夹的配置'DIRS': [os.path.join(BASE_DIR, 'templates')]3.pycharm自动创建的第一个应用会自动注册到配置文件中4.针对db.sqlite3文件不用去在乎它有没有创建 只要运行了django会自动出来
应用
Django框架就类似于是一所大学,一所大学也要有二级学院。
应用就类似于是二级学院,一个Django框架至少要有一个应用
django里面的app类似于某个具体的功能模块:
Django目录结构
django项目目录项目同名文件夹__init__.py 很少用 主要做一些冷门配置settings.py 项目的全局配置文件urls.py 路由文件,写地址的后缀和视图函数的对应关系wsgi.py django服务 基本不用manage.py django的启动文件、入口文件templates文件夹 模版文件,存储项目所需的html文件应用名文件夹(可以有多个)migrations文件夹 orm相关(数据库打交道的记录)__init__.py 很少用 主要做一些冷门配置admin.py django自带的后台管理系统apps.py 创建应用之后用于应用的注册models.py 模型层,存储与数据库表相关的类tests.py 自带的测试文件views.py 视图文件。存储业务相关的逻辑代码(函数、类)db.sqlite3 自带的小型数据库urls.py 路由层views.py 视图层templates 模板层models.py 模型层
Django小白必会三板斧
frpm django.shortcuts import render,HttpResponse,redirectHttpResponse 返回字符串类型的数据render 返回HTML页面并且支持传值redirect 重定向
相关文章:

Django框架简介
文章目录 Django框架介绍MVC与MVT模型MVCMTV 版本问题运行django注意事项 Django的下载与基本命令下载Django方式一:在命令界面使用pip安装方式二:使用pycharm安装 Django的基础命令命令行操作pycharm操作 Django项目命令行操作与Pycharm操作的区别应用D…...

把wpf的窗体保存为png图片
昨晚在stack overflow刷问题时看到有这个问题,今天早上刚好来尝试学习一下 stack overflow的链接如下: c# - How to render a WPF UserControl to a bitmap without creating a window - Stack Overflow 测试步骤如下: 1 新建.net frame…...
2023NOIP A层联测28-大眼鸹猫
给你两个长度为 n n n 的序列 a , b a,b a,b,这两个序列都是单调不降的。 你可以对 a a a 进行不超过 m m m 次操作,每次操作你可以选择一个 i i i 满足 1 ≤ i ≤ n 1\le i\le n 1≤i≤n,然后选择一个整数(可以是负数&…...

电机应用-直流有刷电机
目录 直流有刷电机 工作原理 直流有刷减速电机的重要参数 电路原理与分析 驱动芯片分析 L298N驱动芯片 直流有刷减速电机控制实现 控制速度原理 硬件设计 L298N 野火直流有刷电机驱动板-MOS管搭建板 软件设计1:两个直流有刷减速电机按键控制 开发设计 …...

BIM、建筑机器人、隧道工程施工关键技术
一、BIM简介 (一)BIM概念 BIM(Building Information Modeling),建筑信息模型。该技术通过数字化手段,在计算机中建立虚拟建筑,该虚拟建筑提供从单一到完整、包含逻辑关系的建筑信息库。信息库…...

快速了解什么是跳跃表(skip list)
什么是跳跃表(skip list) 跳跃表(Skip List)是一种概率性的数据结构,它通过在多层链表的基础上添加“快速通道”来提高搜索效率。跳跃表的效率可以与平衡树相媲美,即在平均和最坏的情况下,查找…...

【Node.js入门】1.1Node.js 简介
Node.js入门之—1.1Node.js 简介 文章目录 Node.js入门之—1.1Node.js 简介什么是 Node.js错误说法 Node.js 的特点跨平台三方类库自带http服务器非阻塞I/O事件驱动单线程 Node.js 的应用场合适合用Node.js的场合不适合用Node.js的场合弥补Node.js不足的解决方案 什么是 Node.j…...

数据库 高阶语句
目录 数据库 高阶语句 使用select 语句,用order by来对进行排序 区间判断查询和去重查询 如何对结果进行分组查询group by语句 limit 限制输出的结果记录,查看表中的指定行 通配符 设置别名:alias 简写就是 as 使用select 语句&#x…...

jenkins Java heap space
jenkins Java heap space,是内存不够。 两个解决方案: 一,修改配置文件 windows系统中,找到Jenkins的安装路径, 修改jenkins.xml 将 -Xmx256m 改为 -Xmx1024m 或者更大 重启jenkins服务。 二,jenkins增…...

OpenCV校准棋盘集合
棋盘格可以与相机校准工具一起使用,例如ROS的camera_calibration包。您可以通过单击下面的任何链接免费下载 PDF 格式的各种棋盘,没有水印或广告。此外,还添加了基于 JavaScript 的棋盘生成器,允许您生成自定义尺寸。 提示&#…...
使用git将本地项目推送到远程仓库github
总结:本地项目通过git上传到github 1)、在本地创建一个版本库(即文件夹),通过 git init 把它变成Git仓库; 2)、把项目复制到这个文件夹里面,再通过 git add . 把项目添加到仓库; 3)、再通过 gi…...

Mybatis-Plus使用Wrapper自定义SQL
文章目录 准备工作Mybatis-Plus使用Wrapper自定义SQL注意事项目录结构如下所示domain层Controller层Service层ServiceImplMapper层UserMapper.xml 结果如下所示:单表查询条件构造器单表查询,Mybatis-Plus使用Wrapper自定义SQL联表查询不用,My…...

仿mudou库one thread one loop式并发服务器
目录 1.实现目标 2.HTTP服务器 实现高性能服务器-Reactor模型 模块划分 SERVER模块: HTTP协议模块: 3.项目中的子功能 秒级定时任务实现 时间轮实现 正则库的简单使用 通⽤类型any类型的实现 4.SERVER服务器实现 日志宏的封装 缓冲区Buffer…...
二十三种设计模式全面解析-组合模式与装饰器模式的结合:实现动态功能扩展
在前文中,我们介绍了组合模式的基本原理和应用,以及它在构建对象结构中的价值和潜力。然而,组合模式的魅力远不止于此。在本文中,我们将继续探索组合模式的进阶应用,并展示它与其他设计模式的结合使用,以构…...

智慧城市建设解决方案分享【完整】
文章目录 第1章 前言第2章 智慧城市建设的背景2.1 智慧城市的发展现状2.2 智慧城市的发展趋势 第3章 智慧城市“十二五”规划要点3.1 国民经济和社会发展“十二五”规划要点3.2 “十二五”信息化发展规划要点 第4章 大数据:智慧城市的智慧引擎4.1 大数据技术—智慧城…...

unity - Blend Shape - 变形器 - 实践
文章目录 目的Blend Shape 逐顶点 多个混合思路Blender3Ds maxUnity 中使用Project 目的 拾遗,备份 Blend Shape 逐顶点 多个混合思路 blend shape 基于: vertex number, vertex sn 相同,才能正常混合、播放 也就是 vertex buffer 的顶点数…...

asp.net core mvc之路由
一、默认路由 (Startup.cs文件) routes.MapRoute(name: "default",template: "{controllerHome}/{actionIndex}/{id?}" ); 默认访问可以匹配到 https://localhost:44302/home/index/1 https://localhost:44302/home/index https:…...
前端设计模式之【访问者模式】
文章目录 前言介绍实现优缺点应用场景后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端设计模式 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误&#…...

通过docker-compose部署elk日志系统,并使用springboot整合
ELK是一种强大的分布式日志管理解决方案,它由三个核心组件组成: Elasticsearch:作为分布式搜索和分析引擎,Elasticsearch能够快速地存储、搜索和分析大量的日志数据,帮助用户轻松地找到所需的信息。 Logstash…...

【NLP】特征提取: 广泛指南和 3 个操作教程 [Python、CNN、BERT]
什么是机器学习中的特征提取? 特征提取是数据分析和机器学习中的基本概念,是将原始数据转换为更适合分析或建模的格式过程中的关键步骤。特征,也称为变量或属性,是我们用来进行预测、对对象进行分类或从数据中获取见解的数据点的…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...

通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...