当前位置: 首页 > news >正文

day52 django的下载与安装

课程的大致安排

大概两周的时间都是围绕着Django框架的学习,包括后续要学习的drf、Redis、celery、es等技术栈都是围绕Django展开的,因此、要求所有的同学必须认证学习了

市场中所有使用Python开发的web项目,Django框架占有率达到90%以上

今日内容概要6

  • web应用程序

  • 手写web框架(帮助我们理解别人写好的成熟框架、重点在于思路的理解、代码无需掌握)

  • Django框架的学习

  • Python中得主流框架

  • 框架的下载、安装、版本、怎么启动、怎么使用等

  • 三板斧问题

今日内容详细

web应用程序
# Django框架是一款专门用来开发web应用的框架
什么是web?Web应用程序是一种可以通过Web访问的应用程序,用户只需要有浏览器即可,不需要再安装其他软件
案例:淘宝网、京东网、博客园、等都是基于web应用的程序
​应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式#  Web应用程序的优点
1. 你所需要的只是一个适用的浏览器
2. 节省硬盘空间
3. 它们不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端;
4. 过跨平台使用的例如Windows,Mac,Linux等等
​
# Web应用程序的缺点
"""严重依赖服务端的正常运行、服务端一旦出问题、客户端里面受到影响"""
​
# 什么是web框架:
别人写好的框架(就是一堆目录和文件),我们只需要在固定的位置写代码即可
手写web框架(帮助我们理解别人写好的成熟框架、重点在于思路的理解、代码无需掌握)
web应用程序是B/S架构的,所以、我们需要自己写一个服务端、然后让浏览器作为我们的客户端即可
怎么样去写一个服务端? socket编程
​
HTTP协议的特性:
1. 四大特性# 基于请求响应# 基于TCP协议之上的应用层协议# 无状态# 短链接2. 请求数据格式请求首行(请求方式、协议、版本号、路径)请求头\r\n请求体(get请求方式是没有请求体的、POST请求方式才有请求体)
3. 响应数据格式响应首行()响应头\r\n响应体()
4. 响应状态码1xx2xx3xx4xx5xx## 图解HTTP协议(漫画版本的)  图解TCP协议
# 请求方式
GET POST
​
​
"""问题来了,如何做到在网址栏中输入什么后缀就返回什么后缀?"""
解决的思路:1. 服务端要知道你网址栏里输入的是什么后缀2. 服务端做判断,然后做对应的返回
# 服务端如何知道客户端输的的是什么后缀
​
# 当前的服务端存在的问题?
1. socket部分需要我们自己每次都要写
2. 我们需要自己每次处理HTTP格式的数据,自己转码、自己切分、自己取值等
3. 没有解决高并发问题
​
# 怎么样优化以上存在的问题呢?
wsgiref模块的使用
wsgiref服务器---------->uwsgi服务器(uwsgi)-------->Nginx服务器+uwsgi服务器
​
wsgiref模块是一个内置的模块,直接可以拿来使用,无需安装
它帮助我们封装了socket部分,另外,它也解决了部分的高并发问题,但是,它能够解决的并发量并不高
他们也会帮我们把HTTP格式的数据做封装处理,也就是说不需要我们在自己处理
​
views.py # 主要用来写业务逻辑的,它也称为是视图文件
urls.py  # 主要用来写后缀和视图函数的对应关系,它也称为是路由文件
template # 存储项目中用到的模板文件,html文件,模板文本,提供了一些模板语法.
​
"""每一个框架都应用有一个入口文件,Django也不例外"""
Django框架的学习
Python中得主流框架:Django框架:最主流的,市场占用率90%以上,笨重的框架,里面自带了很重的模块,不适用于小项目,类似于航空母舰falsk框架:轻量级的,小而美,自带的功能比较少,需要安装很多的第三方模块,当你安装的模块足够多的时候,也差不多跟Django差不多了tornado框架:异步非阻塞、高性能、学这个框架成本有点高、解决的并发量挺高的,它一般用在特殊的场景sanic框架:fastapi框架:它主要用来写一些接口,不出来页面,它只负责写业务逻辑## 主要就来学习Django的使用
如何使用Django:
1. 需要先安装: pip install django
2. 版本的问题django1.x: 以前的老项目在使用,它跟2.x的版本区别不是特别大django2.x:主流的项目使用的都是2.x的版本,有一点区别的跟1.xdjango3.x: 新版本了,现在有不少的项目确实在选择3.x的版本# 比如:drf框架要求django的版本必须是2以上,不支持1的版本
讲1.x和2.x的版本注意讲1.x,一块再去看2的版本
​
3. django的版本要和你的Python的版本要匹配,django3用个2.7版本,不行
django2----->python3.6以上
django1----->python3.6
​
4. 如何创建django项目# 先切换路径到你想存储的位置命令行创建:django-admin startproject 项目名称django-admin startproject myfirstpycharm创建项目FileNew projectdjango...
5. 注意事项:1. 项目名称必须是英文,不能是中文2. 一个pycharm窗口只打开一个django项目
6. 如何启动项目# 先把路径切到跟manage.py同级目录下面命令行启动python manage.py migrate---------如果出现红字报错(例如内部有什么18个error这种,先用这条代码进行重       构)python manage.py runserverpython manage.py runserver 8001 # 用于改变端口号
'''Next, start your first app by running python manage.py startapp [app_label].'''
​
7. 创建应用python manage.py startapp 应用名python manage.py startapp app01# 创建完应用之后,还要做一件非常重要的事情,就是注册应用, 如果没有注册,创建出来也没用**************************************************************************INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',]**************************************************************************

应用

Django框架就类似于是一所大学,一所大学也要有二级学院
应用就类似于是二级学院,一个Django框架至少要有一个应用
​
taobaouserorderaddress"""应用名要做到见名知意,符合变量的命名规则即可,但是,教学使用app01 02 03..."""
主要文件的介绍
mysecond            # 项目名称app01           # 应用名称migrations  # 它是迁移数据的记录__init__.pyadmin.py    # django自带的后台管理系统apps.py     # 暂且忽略,写一些注册的东西models.py   # 模型层,跟数据库打交道的,以后创建表就在这里写tests.py    # 测试脚本views.py    # 视图文件,主要用来写核心的业务逻辑的mysecond__init__.pysettings.py # Django的全局配置文件urls.py     # 路由文件,写地址的后缀和视图函数的对应关系wsgi.py     # wsgiref服务器templates       # 存储HTML文件的db.sqlite3      # Django自带的小型数据库manage.py       # Django的启动文件,入口文件

作业

1. 整理今日内容到博客
2. 熟练练习如何创建项目、应用等

相关文章:

day52 django的下载与安装

课程的大致安排 大概两周的时间都是围绕着Django框架的学习,包括后续要学习的drf、Redis、celery、es等技术栈都是围绕Django展开的,因此、要求所有的同学必须认证学习了 市场中所有使用Python开发的web项目,Django框架占有率达到90%以上 …...

WebGL智慧城市软件项目

WebGL开发智慧城市项目时,需要考虑多个方面,包括技术、隐私、安全和可持续性。以下是一些需要注意的关键问题,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.隐私和数据安全…...

VMware重装后没有虚拟网卡

我重装VMware之后网络适配器里面没有虚拟网卡,找了CSDN上很多博主说的,都没用。 最终去看了b站的up视频就成功了。 原因是因为第一次安装后卸载不干净,软件在电脑上的注册表没有删掉。 要用下面两个软件清理一下残留文件,这两个…...

软件安全基础

传参基础 64位汇编传参,当参数少于7个时, 参数从左到右放入寄存器: rdi, rsi, rdx, rcx, r8, r9。 当参数为7个以上时, 前 6 个与前面一样, 但后面的依次从 “右向左” 放入栈中,即和32位汇编一样。 我们这边要利用wr…...

探索项目管理软件的多重用途和益处

项目管理软件俨然成了当下项目管理话题中的热门词条,作为一个辅助性管理工具,项目管理软件有什么用?真的值得购入吗? 什么是项目管理软件 顾名思义,项目管理软件就是指在项目管理过程使用的各种软件工具。项目管理软件…...

Arduino ESP8266使用AliyunIoTSDK.h连接阿里云物联网平台

文章目录 1、AliyunIoTSDK简介2、相关库安装3、阿里云创建产品,订阅发布4、对开源的Arduino ESP8266源代码修改5、使用阿里云点亮一个LED灯6、设备向阿里云上传温度数据7、项目源码 1、AliyunIoTSDK简介 AliyunIoTSDK是arduino的一个库,可以在arduino的…...

【车载开发系列】AutoSar中的CANTP

【车载开发系列】AutoSar中的CANTP 【车载开发系列】AutoSar中的CANTP 【车载开发系列】AutoSar中的CANTP一. CANTP相关术语二. CANTP相关概念1)单帧:SF(Single Frame)2)首帧:FF(First Frame)3)连续帧CF(Consecutive F…...

JUL日志

文章目录 JUL日志JUL日志讲解Properties配置文件编写日志配置文件Lombok快速开启日志Mybatis日志系统 JUL日志 如果使用System.out.println来打印信息,项目中存在大量的控制台输出语句,会显得很凌乱,而且日志的粒度是不够细的,假…...

ZZ308 物联网应用与服务赛题第G套

2023年全国职业院校技能大赛 中职组 物联网应用与服务 任 务 书 (G卷) 赛位号:______________ 竞赛须知 一、注意事项 1.检查硬件设备、电脑设备是否正常。检查竞赛所需的各项设备、软件和竞赛材料等; 2.竞赛任务中所使用…...

如何使用 vcpkg 编译Google-V8脚本引擎(ECMA/JavaScript)?

WIN32K下一键杀死所有同名进程命令行:taskkill /F /IM chrome.exe ############################## 1、准备 Visual Studio 2019 2、准备 Visual Studio 2022 3、安装 VC、MSBuild 编译集成环境 4、安装 Python 3.x,早期V8发行版本编译安装 2.x 5、…...

系列二十二、idea Live Templates

一、idea Live Templates 1.1、Java Group 1.1.1、fast fast 快速在类上添加注解Data AllArgsConstructor NoArgsConstructor Accessors(chain true) ToString(callSuper true) 1.1.2、getThreadName getThreadName快速获取当前线程的名字Thread.currentThread().getName…...

电脑本地安装宝塔/docker 安装宝塔

一、先去docker官网(http://docker.com)下载软件并进行安装,网站打不开多试几次或者找梯子。 二、macos系统里按“command 空格”搜索“终端”回车,启动终端程序。 三、执行下面命令,拉取docker镜像。 docker pull pch18/baota:clear pch…...

Java Lambda 表达式笔记

文章目录 Java Lambda 表达式语法Lambda 表达式实例Lambda表达式与函数式接口方法引用处理lambda表达式的接口 Java Lambda 表达式语法Lambda 表达式实例Lambda表达式与函数式接口方法引用处理lambda表达式的接口 Java Lambda 表达式 Lambda 表达式,也可称为闭包. …...

Flutter笔记:状态提升、控制器模式、GetX控制器和服务

Flutter笔记 状态提升、控制器模式、GetX控制器和服务 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/1…...

9.spark自适应查询-AQE之动态调整Join策略

目录 概述动态调整Join策略原理实战 动态优化倾斜的 Join原理实战 概述 broadcast hash join 类似于 Spark 共享变量中的广播变量,Spark join 如果能采取这种策略,那join 的性能是最好的 自适应查询AQE(Adaptive Query Execution) 动态调整Join策略 原…...

CentOs7 NAT模式连接网络

1.配置动态网络 1.1 检查主机网卡配置 检查主机的网络设置 进入控制面板,找到网络共享中心 查看适配器是否都已经开启 1.2 设置虚拟机的网络配置 打开虚拟机网络配置设置,对网卡VMnet8 进行设置 记住网关 全部选择应用,确定 1.3 设置…...

linux安装git

目录 声明 前言 正文 (1)下载git压缩包 (2)git压缩包解压 (3)解压完成后需要进行源码的编译操作 a.首先进去到解压后的文件目录中: b.执行: 编译的过程中可能遇到的问题&am…...

thinkphp6 起步

1、安装 composer create-project topthink/think6.0 tp62、使用多应用模式,你需要安装多应用模式扩展think-multi-app composer require topthink/think-multi-app3、config/app.php中,将 ‘auto_multi_app’ > flase, 改为true; 需要自…...

会员题-力扣408-有效单词缩写

有效单词缩写 字符串可以用 缩写 进行表示,缩写 的方法是将任意数量的 不相邻 的子字符串替换为相应子串的长度。例如,字符串 “substitution” 可以缩写为(不止这几种方法): “s10n” (“s ubstitutio n”) “sub4…...

spring-cloud-stream

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…...

软件可解释性中的模型理解与分析

在人工智能技术快速发展的今天,复杂机器学习模型(如深度神经网络)的广泛应用带来了高效决策能力,但也因其“黑箱”特性引发了信任危机。软件可解释性中的模型理解与分析,正是为了揭开模型内部运作机制,让开…...

需求管理中的需求分析优先级排序与变更控制

需求管理是软件开发与项目管理中的核心环节,而需求分析优先级排序与变更控制则是确保项目成功的关键。在资源有限、时间紧迫的情况下,合理分配需求优先级能够有效提升交付效率;严格的变更控制机制能避免需求蔓延导致的项目失控。本文将围绕这…...

LLM推理优化核心技术:KV Cache、FlashAttention与显存管理深度解析

引言:当大模型遭遇"显存墙" 2023年以来,以GPT-4、Claude、LLaMA为代表的大语言模型(LLM)席卷AI领域,但将这些庞然大物部署到实际生产环境时,一个严峻的问题浮出水面——推理效率瓶颈。 让我们直面三个核心挑战: 挑战类型 具体表现 根本原因 显存瓶颈 KV Cache…...

Rust的匹配中的质量辅助

Rust的匹配机制以其强大的类型安全和表达能力著称,而其中的质量辅助功能更是为开发者提供了高效且可靠的编程体验。质量辅助不仅帮助开发者在编写匹配语句时减少错误,还能通过编译器的智能提示和检查,提升代码的可读性和健壮性。无论是处理枚…...

SOONet实战避坑:视频音频流干扰处理、黑边裁剪、帧率不一致应对

SOONet实战避坑:视频音频流干扰处理、黑边裁剪、帧率不一致应对 你是不是也遇到过这种情况:好不容易部署好了SOONet,上传了一段精心准备的视频,满怀期待地输入描述,结果要么定位不准,要么直接报错&#xf…...

【实战指南】从零构建基于YOLO与Python的智能自动标注流水线

1. 为什么需要智能自动标注流水线 做过计算机视觉项目的朋友都知道,数据标注是个体力活。我去年参与过一个工业质检项目,光是标注5万张缺陷图片就花了团队3个人整整两个月时间。后来我们发现,其实80%的标注时间都花在了重复性的框选操作上。这…...

AI原生产品上线首周留存暴跌的8个隐藏设计雷区,腾讯/字节内部培训未公开的防御清单

第一章:AI原生产品的留存本质与认知重构 2026奇点智能技术大会(https://ml-summit.org) AI原生产品的留存,不再取决于功能密度或界面精致度,而根植于用户与模型交互过程中持续涌现的“认知适配感”——即系统能否在每一次对话、每一次推理、…...

STM32 HAL库串口调试终极指南:5分钟搞定printf重定向(附常见问题排查)

STM32 HAL库串口调试终极指南:5分钟搞定printf重定向(附常见问题排查) 在嵌入式开发中,串口调试是最基础也最实用的调试手段之一。想象一下,当你面对一个复杂的嵌入式系统,能够通过简单的printf语句输出变量…...

【AI Token中转】2026年AI Token代理站搭建实战:技术架构与运营策略

2026年AI Token中转站搭建实战:技术架构与运营策略 上个月帮朋友搭了一个API中转站。折腾了一周,踩了几个坑,现在稳定跑了两个月。 这篇文章把整个过程和实际数据整理出来。包括技术选型、部署细节、运维经验,还有运营策略。 不讲…...

从Windows换到麒麟V10 SP1,这7个自带神器让我彻底卸载了第三方管家软件

从Windows换到麒麟V10 SP1,这7个自带神器让我彻底卸载了第三方管家软件 第一次打开银河麒麟桌面操作系统V10 SP1时,那种既熟悉又陌生的感觉让我想起了十年前从Windows XP升级到Windows 7的体验。作为一个长期使用Windows系统的普通办公用户,我…...