python——Django框架

news2025/1/11 17:00:30

一、基本介绍

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。

使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

Django框架有以下主要特点:

  1. 强大的ORM(对象关系映射):Django提供了一个强大的ORM,它允许开发人员使用Python代码来操作数据库,而无需编写复杂的SQL语句。ORM提供了简洁的API,使数据库操作变得更加简单和高效。

  2. 自带的管理后台:Django提供了一个内置的管理后台,使开发人员可以轻松地创建、编辑和管理数据库中的数据。开发人员只需定义模型类,Django就会自动为其生成对应的管理界面。

  3. URL分发和视图处理:Django使用URL分发机制来将请求映射到相应的视图函数或类。开发人员可以根据需要定义不同的URL模式,并将它们与相应的视图函数或类关联起来。这种分发机制使开发人员能够轻松处理不同URL的请求。

  4. 模板引擎:Django内置了一个强大的模板引擎,使开发人员可以将HTML页面与Python代码进行分离。模板引擎提供了丰富的模板标签和过滤器,使开发人员能够轻松地生成动态的HTML页面。

  5. 安全性:Django提供了一系列的安全机制,包括防止跨站点请求伪造(CSRF)、防止SQL注入等。它还提供了用户认证和权限管理的功能,使开发人员能够轻松地构建安全可靠的Web应用。

  6. 可扩展性:Django框架非常灵活,允许开发人员根据需要进行扩展。它提供了一系列的插件和扩展,使开发人员能够轻松地添加新的功能或修改现有功能。

二、MTV模式

Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:

  • M 表示模型(Model):编写程序应有的功能,负责业务对象与数据库的映射(ORM)。
  • T 表示模板 (Template):负责如何把页面(html)展示给用户。
  • V 表示视图(View):负责业务逻辑,并在适当时候调用 Model和 Template。

除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template。

MTV流程图(取自bing图库)

三、安装Django框架并创建一个简易的项目

3.1 安装Django

3.1.1、pip安装

pip install django

3.1.2、 官网下载安装

要从官网下载Django,可以按照以下步骤进行操作:

  1. 打开Django的官方网站:The web framework for perfectionists with deadlines | Django
  2. 在主页上找到并点击"Download"按钮,或者直接访问https://www.djangoproject.com/download/。
  3. 在下载页面上,你可以选择不同的版本进行下载。选择一个适合你的版本,点击对应的下载链接。
  4. 下载完成后,将下载的压缩包解压到你想要安装Django的目录中。
  5. 打开命令行终端,进入到解压后的Django目录。
  6. 运行命令python setup.py install,这将安装Django到你的Python环境中。Django 将要被安装到 Python 的 Lib下site-packages。
  7. 然后是配置环境变量,将这几个目录添加到系统环境变量中: C:\Python33\Lib\site-packages\django;C:\Python33\Scripts。 添加完成后就可以使用Django的django-admin.py命令新建工程了。
  8. 检查是否安装成功:
# python命令行输入
>>> import django
>>> django.get_version()

3.2 创建一个简易的项目

1.pycharm中选择Django创建项目(在此之前要先下载django包)

创建的目录如下:(我创建的项目名为Helloworld)

目录说明:

  • Helloworld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • Helloworld/__init__.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • Helloworld/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • Helloworld/settings.py: 该 Django 项目的设置/配置。
  • Helloworld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • Helloworld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

 修改代码

结果展示:(点击运行,在浏览器输入127.0.0.1:8000/login/)

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

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

相关文章

简单的考试系统

开发一个简单的考试系统&#xff0c;在HTML页面中建立一个表单&#xff0c;通过post方法传递参数。题目类型包括单选题、多选题和填空题&#xff0c;要求程序给出考试成绩。 <!DOCTYPE html> <html> <head><title>question.html</title><met…

SpringBoot banner 样式 自动生成

目录 SpringBoot banner 样式 自动生成 图案网站&#xff1a; 1.第一步创建banner.txt文件 2.访问网站Ascii艺术字实现个性化Spring Boot启动banner图案&#xff0c;轻松修改更换banner.txt文件内容&#xff0c;收集了丰富的banner艺术字和图&#xff0c;并且支持中文banner下…

【C语言】文件操作(三)

前言 在文件操作&#xff08;二&#xff09;中我们学习了顺序读写文件的函数&#xff0c;在这篇博客中我们将学习⽂件的随机读写&#xff0c;⽂件读取结束的判定。 文章目录 一、文件的随机读写1.1 fseek1.2 ftell1.3 rewind 二、文件读取结束的判定2.1 ferror和feof 三、文件缓…

键盘上F1至F12键的作用

多年来&#xff0c;我们习惯了最上排的12个按键&#xff0c;从F1到F12&#xff0c;它们被称为“快速功能键”&#xff0c;可以让你更轻松地操作电脑&#xff1b;但是&#xff0c;很多人可能从未使用过它们&#xff0c;也从来不知道它们的用途。那么今天&#xff0c;就向大家科普…

【Pytorch笔记】4.梯度计算

深度之眼官方账号 - 01-04-mp4-计算图与动态图机制 前置知识&#xff1a;计算图 可以参考我的笔记&#xff1a; 【学习笔记】计算机视觉与深度学习(2.全连接神经网络) 计算图 以这棵计算图为例。这个计算图中&#xff0c;叶子节点为x和w。 import torchw torch.tensor([1.]…

web漏洞-PHP反序列化

目录 PHP反序列化序列化反序列化原理涉及技术利用危害CTF靶场 PHP反序列化 序列化 将对象转换成字符串 反序列化 相反&#xff0c;将字符串转换成对象。 数据格式的转换对象的序列化有利于对象的保存和传输&#xff0c;也可以让多个文件共享对象。 原理 未对用户输入的序列化字…

使用关键字interface来声明使用接口-PHP8知识详解

继承特性简化了对象、类的创建&#xff0c;增加了代码的可重用性。但是php8只支持单继承&#xff0c;如果想实现多继承&#xff0c;就需要使用接口。PHP8可以实现多个接口。 接口类通过关键字interface来声明&#xff0c;接口中不能声明变量&#xff0c;只能使用关键字const声明…

vcomp120.dll丢失的详细解决方法,全面分享5个解决方法分享

vcomp120.dll 是 Visual C Redistributable 的一个组件&#xff0c;是许多 Windows 应用程序所必需的动态链接库 (DLL) 之一。如果计算机上缺少 vcomp120.dll 文件&#xff0c;或者该文件已损坏或不正确&#xff0c;可能会导致许多应用程序无法正常运行&#xff0c;出现“无法继…

openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT

文章目录 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT88.1 前置条件检查88.2 转换88.3 转换示例 openGauss学习笔记-88 openGauss 数据库管理-内存优化表MOT管理-内存表特性-使用MOT-MOT使用将磁盘表转换为MOT …

数据挖掘实验(一)数据规范化【最小-最大规范化、零-均值规范化、小数定标规范化】

一、数据规范化的原理 数据规范化处理是数据挖掘的一项基础工作。不同的属性变量往往具有不同的取值范围&#xff0c;数值间的差别可能很大&#xff0c;不进行处理可能会影响到数据分析的结果。为了消除指标之间由于取值范围带来的差异&#xff0c;需要进行标准化处理。将数据…

Linux系统编程系列之线程的信号处理

一、为什么要有线程的信号处理 由于多线程程序中线程的执行状态是并发的&#xff0c;因此当一个进程收到一个信号时&#xff0c;那么究竟由进程中的哪条线程响应这个信号就是不确定的&#xff0c;只能取决于哪条线程刚好在信号达到的瞬间被调度&#xff0c;这种不确定性在程序逻…

java学生成绩管理信息系统

一、 引言 学生成绩管理信息系统是一个基于Java Swing的桌面应用程序&#xff0c;旨在方便学校、老师和学生对学生成绩进行管理和查询。本文档将提供系统的详细说明&#xff0c;包括系统特性、使用方法和技术实现。 二、 系统特性 2.1 学生管理 添加学生信息&#xff1a;录…

基于SSM农产品商城系统

基于SSM农产品商城系统的设计与实现&#xff0c;前后端分离&#xff0c;文档 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 农产品列表 产品详情 个人中心 登陆界面 管…

gici-open示例数据运行(1.1开阔环境数据运行)

1、配置数据和处理模式 下载对应的数据集后&#xff0c;首先处理1.1中的开阔环境下数据&#xff0c;将option目录下的配置文件复制到1.1数据目录下&#xff08;若采用ROS编译&#xff0c;则配置文件目录为ros_wrapper/src/gici/option/ros real time estimation xxx.yaml&…

Fiddle日常运用手册(2)-使用过滤器进行接口精准拦截

关于Fiddle的基础界面大家已经了解&#xff0c;日常工作中可以进行简单的抓包和数据分析了。 但是&#xff0c;工作中我们又会发现&#xff0c;单纯的进行批量抓包会抓取很多无效的心跳接口数据导致让我们漏掉一些重要信息。那么如果我们想精准的拦截某一个IP的接口交互数据&am…

231003-四步MacOS-iPadOS设置无线竖屏随航SideCar

Step 0&#xff1a;MacOS到iPad无线竖屏随航显示&#xff0c;最终效果 Step 1&#xff1a; 下载 Better Display Step 2&#xff1a;在设置中新建虚拟屏幕&#xff0c;创建虚拟屏幕 Step 3&#xff1a;进行如下设置 Step 4&#xff1a;注意事项 ⚠️ 设置后的虚拟屏幕与Sideca…

基于SSM的餐厅点菜管理系统的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用Vue技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

找不到VCRUNTIME140_1.dll怎么办,VCRUNTIME140_1.dll丢失的5个解决方法

在当今的数字时代&#xff0c;我们的生活和工作都离不开电脑。然而&#xff0c;随着科技的发展&#xff0c;我们也会遇到各种各样的问题。其中&#xff0c;VCRUNTIME140_1.dll丢失的问题是许多人都会遇到的困扰。这个问题可能会导致许多应用程序无法正常运行&#xff0c;给我们…

如何在 Google Earth 中创建轨迹、路线并制作动画

如何创建航迹 https://kurviger.de/en Google 地球飞行教程(天桥动画) 选择合适的点 &#xff08;可调整视图快照&#xff09;点击录制&#xff0c;依次点击图标即可

电子计算机核心发展(继电器-真空管-晶体管)

目录 继电器 最大的机电计算机之一——哈弗Mark1号&#xff0c;IBM1944年 背景 组成 性能 核心——继电器 简介 缺点 速度 齿轮磨损 Bug的由来 真空管诞生 组成 控制开关电流 继电器对比 磨损 速度 缺点 影响 代表 第一个可编程计算机 第一个真正通用&am…