django学习笔记

2023-05-16

——未更新完成——

文章目录

  • 一、什么是django
    • 1.1 有关django
      • 1.1.1 开始
      • 1.1.2 MVC框架/设计模式
      • 1.1.3 Django架构 - MTV模型
    • 1.2 安装配置开始django
      • 1.2.1 python和django
      • 1.2.2 创建第一个django的项目和应用

一、什么是django

1.1 有关django

1.1.1 开始

​ django是一个由python写成的web应用框架。

​ 从头构建python web应用程序最简单的方法之一是用公共网关接口(Common Gateway Interface,CGI)标准,它是是Web 服务器运行时外部程序的规范,但这其中有些问题,不一一累述。web框架为你的应用程序提供有一个基础架构,这样你可以专注编写干净的,可维护的代码,这就是django所做的。

1.1.2 MVC框架/设计模式

​ 在MVC框架前,web编程混合了数据库代码和主代码。即使我们将CSS和JavaScript文件储存在外部文件中,服务器端语言代码也储存在一个文件中,该文件至少在三种语言之间共享:python,SQL和HTML。

​ MVC模式——The Model-View-Controller的创建是为了将逻辑与表示分离开,其中三个应用程序层:

  • Models:代表数据库中的数据组织,定义数据库中的表与其他模型的关系。

  • Views:包含了将要发送到客户端的所有信息,将最终的html文件生成,我们可以将html代码与views联系起来。

  • Controllers:包含服务器执行的所有操作,对客户机不可见。检查用户是否经过身份验证,或者是否可以从template中生成html代码。

    image-20210309135252368

本地/image-20210309135252368.png,这个只能上传1小时,然后就没了,图床

1.1.3 Django架构 - MTV模型

​ Django是一个免费开源的web应用程序框架,用python编写。用于替代servlet,PHP,JavaScript来构建web应用程序的后端部分。有点方便安全,django的架构遵循MTV。

  • M 代表Model - 模型

  • T 代表Template - 模板

  • V 代表View - 视图

    ​ MTV与MVC相似,MVC是model,view,controller,他们的区别在于 Django通过模板完成了MVC中控制器controller部分所做的工作。准确来说,模板文件是html部分和DTL(Django Template Language)的混合体。

    ​ 下面是MTV的架构图:

    image-20210309140637093

    ​ Model仍是项目的逻辑文件结构,处理数据库和视图的中间程序。模型说明数据格式如何从视图中获得,从数据库检索的信息可视化地传到视图中。

    ​ View通过模型格式化数据。

    ​ Template主要是保存浏览器呈现的所有内容。

    ​ 我们看看MTV架构的运作:

    image-20210309141225137

    ​ 如上图,我们有一些组件和两个区域——服务端和客户端,视图位于服务端,而模板位于客户端。

    ​ 当我们请求网站时,接口通过我们的浏览器,这是模板。然后该请求传输到服务器以管理视图文件。Django实际上是请求和响应之间的交互。模板更新时,它从我们这里发送的请求在服务器被视图看到,转移到正确的url。

    ​ 在请求发送到正确的url之后,应用程序逻辑将被应用,模型将启动以正确响应给定的请求。然后此特定的响应将被发回视图,再次检查响应并将其作为http响应,然后再次由浏览器通过模板呈现。

1.2 安装配置开始django

1.2.1 python和django

  1. 安装python3和pip,不过多说明。

    打开Window PowerShell或cmd,分别运行以下两条命令查看python和pip版本指令

    python --version
    pip --version
    

    image-20210309142353470

  2. 可考虑安装虚拟环境,不过多说明

  3. 安装Django

    pip install django
    

    安装未报错的话,运行下面代码查看django版本

    python -m django --version
    

    image-20210309143014481

    也可键入python,接下来输入

    import django
    print(django.VERSION)  #python3的格式
    

    image-20210309143314917

    注意:未查出版本不要慌,在你的python目录下,Python38\Lib\site-packages中检查一下有没有包,以及注意python大小写敏感。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-63lgVBrf-1615358012949)(/image-20210309143455935.png)]

  4. 安装一个IDE

    ​ 我们总不能一直用文本文档copy代码,安装一个文本文档工具,这里选用Visual Studio Code IDE,在官网安装vscode。

    ​ 官网:https://code.visualstudio.com/

  5. 在VScode中配置python和django

    1. 1安装完成后,启动。快捷键 ctrl + shift + ` 调用终端

    ​ 安装拓展,快捷键 ctrl + shift + x 或者单击拓展图标

    image-20210309144613931

    ​ 5.2搜索python,单击安装:

    image-20210309144804043

    ​ 5.3为Django添加拓展,搜索Djaneiro,单击安装:

    image-20210309145155392

  6. 选择一个python解释器

    快捷键 ctrl + shift + p 然后输入python,往下滑找到Select Interpreter,

image-20210309145848052

​ 选中它然后选择一个解释器,你可以在编译器的左下角看到 它的活动环境

image-20210309150053124

image-20210309150156170

​ 到此,我们在安装配置就完成了,让我们创建第一个django的项目和应用。

1.2.2 创建第一个django的项目和应用

​ 我们从一个经典的例子,一个基本的投票应用程序开始。

​ 它包括:

  • 一个公共站点,让人们查看民意调查结果并在其中投票。

  • 一个管理员站点,允许您添加删除和修改投票

    在WindowsPowerShell或者cmd或者vscode终端中。

    先用cd命令切换到你想储存项目文件夹的路径,cd——change directory

    然后运行以下命令

    mkdir myproject						#make directory (项目名)
    cd myproject
    django-admin startproject mysite
    

    如下图。

image-20210309151918040

​ 这将在当前目录中创建一个mysite目录。此时,文件夹的目录为

​ myproject/

​ mysite/

​ mysite/

init

​ manage.py

  • mysite的根目录 是项目 容器,可以重命名。
  • manage.py是一个命令行工具,允许你与django项目交互,

此时,文件夹的目录为

​ myproject/

​ mysite/

​ mysite/

init

​ manage.py

  • mysite的根目录 是项目 容器,可以重命名。
  • manage.py是一个命令行工具,允许你与django项目交互,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

django学习笔记 的相关文章

  • 一个程序员的一生

    一个程序员的一生 作者 佚名 我在程序员的时候 xff0c 我一开始追逐这个API怎么用 xff0c 数据库SQL怎么写更优化 xff0c Dcom技术的细节 xff0c 然后我发现我写出来的产品为了符合客户 需求必须要大量修改 xff0c
  • 搭建Ubuntu Samba服务器(超简单)

    1 xff09 安装samba服务 sudo apt get install samba 2 xff09 配置samba sudo vim etc samba smb conf share comment 61 myshare path 6
  • Nginx-配置HTTPS证书(单向认证)

    目录 一 生成 CA 私钥 1 生成一个 CA 私钥 ca key 二 生成CA 的数字证书 1 生成一个 CA 的数字证书 ca crt 三 生成 server 端数字证书请求 1 生成 nginx 端的私钥 nginx key 2 生成
  • 数据结构—B+树

    1 约束 B 43 树的约束与 B 树类似 xff0c 一棵 m m m 阶 B 43 树具有如下特点 xff1a xff08 1 xff09 根节点要么是一个叶节点 xff0c 要么至少具有两个孩子节点 xff1b xff08 2 xff
  • 服务端三种方式实现单设备登录

    单设备登录 xff0c 顾名思义 xff0c 一个账号在一个app中只能在一个设备上进行登录 使用的场景例如 xff1a 账号多端登录时云存档的一致性问题 单设备登录常用的方法 xff1a 1 web端 xff0c session 43 c
  • go 管道简单入门及注意事项:管道创建,发送、接受数据,管道关闭

    1 使用make命令创建channel span class token comment 未设置缓冲区 xff0c 只能放一个 xff0c 不读取再次赋值则会阻塞 span c1 span class token operator 61 s
  • java 生成grpc调用service

    1 安装protoc 这里以mac为例 xff1a brew install automake brew install libtool brew install protobuf 检查 protoc version 2 下载protoc
  • go微服务框架Kratos简单使用总结

    Kratos是B站开源的一款go的微服务框架 xff0c 最近PS5上的 战神 诸神黄昏比较火 xff0c 主角就是奎托斯 这个框架的名字就取自他 在进行框架选型时 xff0c 对比了目前主流的很多go微服务框架 xff0c 如Zero x
  • Gradle重新安装后下载插件失败 Read timed out 问题解决

    究极大坑记录 在使用gradle进行构建kotlin项目时 xff0c 项目所用依赖版本需要同步升级gradle版本 升级gradle版本后 xff0c gradle相关插件无法下载 xff0c 反复timeout超时 症状如下 xff1a
  • Jenkins启动失败:Failed to start LSB: Jenkins Automation Server.

    启动systemctl start jenkins service提示 Job span class token keyword for span jenkins service failed because the control pro
  • 最新版 Let’s Encrypt免费证书申请步骤,保姆级教程

    最近将域名迁到了google domain xff0c 就研究了一下Let s Encrypt的域名证书配置 发现网上找到的教程在官方说明中已经废弃 xff0c 所以自己写一个流程记录一下 步骤方法官方文档见 xff1a https eff
  • git 加速代理设置,单仓库设置代理,指定仓库设置单独代理

    1 git全局设置代理 git config global https proxy http 127 0 0 1 7890 git config global https proxy https 127 0 0 1 7890 取消的命令 x
  • 软件系统设计细节,你不知道的13个实践经验!

    记录道具来源等的 source 字段时 xff0c 可以使用 xff08 类名 43 方法名 xff09 xff08 包名 43 方法名 xff09 的组合 xff0c 可以清晰地区分来源 并且可以灵活地增加新的渠道 动作 涉及金额 钱的字
  • 从typro到Obsidian

    使用了typro 3年有餘 xff0c 最近看到yukang的年終博客 xff0c 又一次提到了Obsidian這個軟件 很久沒有還編輯工具的我 xff0c 想要折騰一下 於是 馬上開始 xff01 第一步 xff0c 啥也不知道 xff0
  • C++线程

    1 创建线程 span class token macro property span class token directive hash span span class token directive keyword include s
  • OpenGPT的11种高效用法

    1 问答提示 2 解释复杂的概念 3 创作 创作需要尽可能的缩小范围 xff0c 提出具体的要求 xff0c AI会给出更好的答案 4 准备面试 5 教师教案 6 编码和集成 7 健身 8 送礼推荐 9 翻译 这个甚至不用去演示 xff0c
  • 浅析鹅鸭杀中服务端的技术实现和要点

    在朋友的介绍下 xff0c 我下载了这款游戏 由于之前玩过 Among Us xff0c 我本以为这款游戏不会达到正宗的太空狼人杀的水平 xff08 毕竟是免费的 xff09 但实际游玩后 xff0c 我被它更加丰富的设定和玩法所吸引 接下
  • nginx代理静态网站css解析异常

    今天在使用ecs进行部署网页时 xff0c 出现了一个问题 使用nginx代理到页面index html路径下 xff0c 同路径的资源都可以加载到 xff0c 但是却无法正确加载到页面样式 打开f12 xff0c 网络和控制台都没有资源异
  • 为什么mysql的delete操作不释放磁盘空间

    在 InnoDB 中 xff0c delete 操作并不会真的删除数据 xff0c mysql 实际上只是给要删除的数据打了标记 xff0c 标记为删除 磁盘所占空间不会变小 xff0c 即表空间并没有真正被释放 一 MySQL 删除数据几
  • docker start :FAIL Hypervisor framework fails

    mac 上启动 Docker 提示 FAIL Hypervisor framework fails 提示环境变量出错 我这台 mac 是自己攒的生产力 xff0c 由于软件是直接从旧的 mac 上迁移过来的 xff0c 我怀疑可能是系统版本

随机推荐

  • 在google设置静态页面 CDN加速

    一 创建bucket xff0c 设置bucket 链接 xff1a https console cloud google com storage browser 创建bucket 设置bucket公开访问 在bucket列表中 xff0c
  • Google Cloud Storage CORS跨域允许,忽略访问控制来源标头

    google storage origin https xxx com has been blocked by CORS policy No Access Control Allow Origin header is present on
  • 聊天记录存储实践

    公司的某款游戏在1月初接入微软小冰AI聊天功能 为了保存聊天记录并为后续的统计功能做好准备 xff0c 决定将聊天记录存放在服务端 最初并不清楚聊天数据量的大小以及玩家对聊天功能的使用情况 xff0c 所以采用了价格和性能相对宽容的MySQ
  • 将本地服务通过ssh代理给外部访问(如何使用 ssh 将本地服务代理给外部访问并保持 SSH 会话的连接性)

    如何使用 ssh 将本地服务代理给外部访问并保持 SSH 会话的连接性 1 外部服务器 nginx 配置 server span class token punctuation span listen localhost 80 span c
  • Go 单元测试高效实践

    敏捷开发中有一个广为人知的开发方法就是 XP xff08 极限编程 xff09 xff0c XP 提倡测试先行 xff0c 为了将以后出现 bug 的几率降到最低 xff0c 这一点与近些年流行的 TDD xff08 测试驱动开发 xff0
  • 操作系统—分段与分页

    1 地址重定位 所谓的地址重定位 xff08 也叫地址翻译 xff09 就是修改程序中的内存地址 xff0c 使得程序被载入内存后 xff0c 那些地址能够指向正确的内存空间 例如 xff0c 程序中包含 call 40 语句 xff0c
  • putty连接被拒的原因分析

    1 xff1a 检查防火墙 2 xff1a PING虚拟机 3 xff1a SSHD etc init d sshd start开启服务 4 xff1a IP字段问题 ifconfig eth0 新IP xff08 更改为字段和主机一样的I
  • Charles+Postern抓包遇到的问题(已解决)

    问题描述 Charles的代理配置和Postern的代理配置的都是正确的 xff0c 但是当在手机上打开Postern中的开启VPN时 xff0c Charles上没有任何反应 解决方法 xff1a 我在多次配置实验无果的情况下 xff08
  • 4. ROS编程入门--PID控制器

    介绍 xff1a 这篇教程是交给大家怎么在ROS里写一个PID控制器 xff0c PID控制器有三部分 比例部分 xff08 P xff09 积分部分 xff08 I xff09 微分部分 xff08 D xff09 PID的输出是这三部分
  • 6. ROS编程入门--路径跟随(Trajectory following)

    Task 本次实验才采用 Follow the carrot 算法去跟随定义好的路径 控制的目标点在机器人行走的路径上 xff0c 距离机器人是个常数距离 机器人计算自己的方向角和目标点角度之间的相差度数 控制这个差角为0 为了在探测时候能
  • 位姿矩阵求逆

    位姿矩阵求逆 位姿矩阵分析位姿矩阵求逆矩阵 为了更好的说明问题 xff0c 我们先来看一下位姿矩阵的定义 位姿矩阵分析 如下图所示 xff1a 如果在B坐标系下有一点PB xff0c 我们需要知道该点在坐标系A下的坐标PA xff0c 怎么
  • UNIX环境高级编程

    环境配置 1 下载apue 3e文件夹 xff0c 可以通过http www apuebook com code3e html现在源码 2 解压后执行进入apue 3e中执行make指令 如果出现 96 96 96 collect2 err
  • C#连接SQL Server 数据库

    C 是如何跟SQL Server进行连接的 xff1f 在C NET程序设计中 xff0c 离不开ADO NET ADO NET是 NET连接数据库的重要组件 使用其可以很方便地访问数据库 xff0c ADO NET还可以访问Oracle数
  • 冒烟测试和回归测试的区别

    每次新的版本出来的时候 xff0c 老大就让我们 冒烟 虽然不知道冒烟测试的含义 xff0c 但由于没有给用例 xff0c 我就随便跑跑 跑完冒烟后 xff0c 老大就让做 回归测试 xff0c 把bug回归掉 但是其实对2个概念还是不太理
  • Webpack——02——打包html资源

    1 在src中创建webpack的入口文件index js xff0c index html 2 src的同级目录下创建webpack config js 3 下载插件html webpack plugin 老规矩 初始化 xff0c 下w
  • AT&T 汇编

    1 基础 x86 的寄存器为32位 xff0c x64 的寄存器为64位 寄存器间对应关系 xff1a 64位寄存器 低32位 低16位 低8位 rax eax ax al rbx ebx bx bl rcx ecx cx cl rdx e
  • 向导对话框[转]

    很久以前在网上看到的一片文章 xff0c 忘了是谁写的了 xff0c 觉得很好 xff0c 所以在这里转载 首先要了解的是CPropertySheet实际上是由一个TabCtrl加多个Page和多个按钮组成 这里强调一点 xff0c DoM
  • win10用pip安装face_recognize

    1 安装CMake 命令 xff1a pip install CMake 2 安装face recognition xff08 也可先安装dlib xff09 命令 xff1a pip install face recognition 查看
  • VS2019配置SFML

    VS2019配置SFML 1 下载安装SFML SDK 网址 xff1a https www sfml dev org download php 解压并放在文件夹里 xff0c 记住这个路径 在我的电脑中这个路径是F C 43 43 Pro
  • django学习笔记

    未更新完成 文章目录 一 什么是django1 1 有关django1 1 1 开始1 1 2 MVC框架 设计模式1 1 3 Django架构 MTV模型 1 2 安装配置开始django1 2 1 python和django1 2 2