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.创建应用app在这里插入图片描述
在创建的过程中可能会出错,是因为Django的版本过于低,Python解释器版本过于搞造成的,只需要在配置文件中更改下图的所指示的代码即可。代码:os.path.join(BASE_DIR,‘templates’)
在这里插入图片描述

更改完配置文件后,重新输入创建应用的命令即可创建成功在这里插入图片描述

最后把应用名称加入到配置文件中相应的位置即可
在这里插入图片描述


3.启动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           重定向

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rust变量绑定、拷贝、转移、引用

目录 一,clone、copy 1,基本类型 2,类型的clone特征 3,显式声明结构体的clone特征 4,类型的copy特征 5,显式声明结构体的clone特征 5,变量和字面量的特征 6,特征总结 二&am…

三大基础排序 -选择排序、冒泡排序、插入排序

排序算法 文章目录 冒泡排序算法步骤动图代码优化总结 选择排序算法步骤动图代码总结 插入排序算法步骤动图代码总结 排序算法,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。一般默认排序是按照由小到大即…

关于Alibaba Cloud Toolkit 下载配置以及后端自动部署

idea中File-Settings-Plugins 搜索Alibaba Cloud Toolkit点击下载,下载完成重启 1、点击 Tools-Alibaba Cloud-Deploy to Host 部署到主机 2、配置服务器ip、jar包启动命令、服务器jar存放位置 3、设置服务器ip用户名密码,点击测试连接情况 4、配置脚本…

TensorFlow案例学习:使用 YAMNet 进行迁移学习,对音频进行识别

前言 上一篇文章 TensorFlow案例学习:简单的音频识别 我们简单学习了音频识别。这次我们继续学习如何使用成熟的语音分类模型来进行迁移学习 官方教程: 使用 YAMNet 进行迁移学习,用于环境声音分类 模型下载地址(需要科学上网&…

Springboot搭建微服务案例之Eureka注册中心

一、父工程依赖管理 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org…

擎创动态 | 开箱即用!擎创科技联合中科可控推出大模型一体机

一、金融行业大模型一体机发布 10月26日至27日&#xff0c;2023金融科技安全与创新大会顺利召开。会上&#xff0c;中科可控联合擎创科技、卓世科技、文因互联、百川智能、捷通华声、智谱华章、易道博识等9大厂商&#xff0c;发布了9款金融行业大模型一体机&#xff0c;为金融…

SpringBoot 学习笔记(四) - 原理篇

一、自动配置 1.1 bean加载方式 bean的加载方式1 - xml方式声明bean 导入依赖&#xff1a; <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.9</ver…

aosp定制android系统

目录 AOSP 准备工作(配置) 确定机型和版本 初始化 git安装 curl安装 同步源码 环境变量 创建aosp目录 指定同步版本 解下来安装编译需要的依赖 编译aosp源码 刷入系统 AOSP 全称 Android Open Source Project 是指Android开源项目&#xff0c;它是由Google主导的…

【JavaEE】HTTP协议(什么是HTTP?、HTTP格式、form表单和ajax构造HTTP)

一、什么是HTTP协议&#xff1f; 1.1 HTTP (全称为 “超文本传输协议”) 是一种应用非常广泛的 应用层协议 1.2 理解HTTP协议的工作过程 当我们在浏览器中输入一个 “网址”, 此时浏览器就会给对应的服务器发送一个 HTTP 请求. 对方服务器收到这个请求之后, 经过计算处理, 就…

四万字Spark性能优化宝典

导读 发现一篇好文&#xff0c;分享给大家。 全文分为四个部分&#xff0c;基本涵盖了所有Spark优化的点&#xff0c;全文较长&#xff0c;建议收藏后PC端查看或工作中问题troubleshooting。 《Spark性能优化&#xff1a;开发调优篇》 《Spark性能优化&#xff1a;资源调优…

linux继续循环案例测试ping网络,目录下的文件权限循环输出

第一&#xff1a;查看本机ip #ip addr 通过脚本访问本机ip1-100&#xff0c;是否可以ping通&#xff0c;并显示结果&#xff0c;上图 知识点 ping -c 数字1 -w 数字1&#xff0c;向目的ip发送1个数据包&#xff0c;等待1秒&#xff0c;无回复中止 &>/dev/null 知…

鸿蒙开发工具DevEco Studio的下载和安装

一、DevEco Studio概述 1、简介 HUAWEI DevEco Studio&#xff08;获取工具请单击链接下载&#xff0c;以下简称DevEco Studio&#xff09;是基于IntelliJ IDEA Community开源版本打造&#xff0c;为运行在HarmonyOS和OpenHarmony系统上的应用和服务&#xff08;以下简称应用…