Django框架
目录
一.Django框架介绍
1.什么是Django框架
2.什么是web
3.web应用程序的优点
4.web应用程序的缺点
5.什么是web框架
二.wsgiref模块的使用
三.Django框架的学习
1.python中的主流框架:
2.如何使用Django
(1)安装
(2)版本
(3)创建django项目
(4)如何启动项目
(5)创建应用
四.应用
1.应用的介绍
2.主要文件的介绍
一.Django框架介绍
1.什么是Django框架
Django框架是一款专门用来开发web应用的框架
2.什么是web
web应用程序是一种可以通过web访问的应用程序,用户只需要有浏览器即可,不需要再安装其他软件,例如:淘宝、京东等
应用程序有两种模式:C/S、B/S
C/S(客户端/服务端)也就是说这类程序一般独立运行B/S(浏览器端/服务端)这类应用程序一般借助IE等浏览器来运行,web应用程序一般是B/S模式
3.web应用程序的优点
- 只需要一个适合的浏览器
- 节省硬盘空间
- 不需要更新,因为所有新的特性都在服务器上执行,从而自动传达到用户端
- 可跨平台使用
4.web应用程序的缺点
严重依赖服务端的正常运行,服务端一旦出现问题,客户端会受到影响
5.什么是web框架
别人写好的框架(就是一堆目录和文件),我们只需要固定的位置写代码即可
二.wsgiref模块的使用
wsgiref服务器 ------> uwsgi服务器(uwsgi) ------> Nginx服务器+uwsgi服务器
wsgiref模块是一个内置的模块,直接可以拿来使用,无需安装它帮助我们封装了socket部分,另外,它也解决了部分的高并发问题,但是,它能够解决的并发量并不高
它们也会帮我们把HTTP格式的数据做封装处理,也就是说不需要我们再自己处理
views.py # 主要用来写业务逻辑的,它也称为是视图文件
urls.py # 主要用来写后缀和视图函数的对应关系,它也称为是路由文件
template # 存储项目中用到的模板文件(html文件),提供了一些模板语法
'''每一个框架都应该有一个入口文件,Django也不例外'''
三.Django框架的学习
1.python中的主流框架:
- Django框架:最主流的,市场占用率90%以上,笨重的框架,里面自带了很多的模块,不适用于小项目,类似于航空母舰
- falsk框架:轻量级的,小而美,自带的功能比较少,需要安装很多第三方模块,当你安装足够多的模块时体量也和Django差不多了
- tornado框架:异步非阻塞,高性能,学习成本高但是解决的并发量挺高,一般用在特殊场景
- fastapi框架:主要用来写一些接口,不出来页面,只负责书写业务逻辑
2.如何使用Django
(1)安装
pip install django
(2)版本
django1.x:以前老项目在使用,跟2.x版本区别不大
django2.x:主流项目都在使用的版本
django3.x:新版本,一部分新项目在用
(3)创建django项目
- 命令行创建:
- django-admin startprojrct 项目名
- django-admin startproject myfirst
- pycharm创建项目:
- file->new project->django
注意事项:
项目名必须是英文,不能是中文
一个pycharm窗口只打开一个django项目
(4)如何启动项目
先把路径切到跟manage.py同级目录下面
命令行启动:
python manage.py runserver
如果想指定端口,只需在最后加上想用的端口号即可:python manage.py runserver 8000
(5)创建应用
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','app01',]
四.应用
1.应用的介绍
Django框架就类似于是一所大学,一所大学也要有二级学院,应用就类似于是二级学院,一个Django框架至少要有一个应用
2.主要文件的介绍
myfirst # 项目名称
app01 # 应用名称
mirgrations # 它是迁移数据的记录
__init__.py
admin.py # django自带的后台管理系统
apps.py # 暂且忽略,写一些注册的东西
models.py # 模型层,跟数据库打交道的,以后创建表就在这里写
tests.py # 测试脚本
views.py # 视图文件,主要用来写核心的业务逻辑的
myfirst__init__.py
settings.py # Django的全局配置文件
urls.py # 路由文件,写地址的后缀和视图函数的对应关系
wsgi.py # wsgiref服务器
templates # 存储HTML文件的
db.sqlite3 # Django自带的小型数据库
manage.py # Django的启动文件,入口文件
相关文章:
Django框架
目录 一.Django框架介绍 1.什么是Django框架 2.什么是web 3.web应用程序的优点 4.web应用程序的缺点 5.什么是web框架 二.wsgiref模块的使用 三.Django框架的学习 1.python中的主流框架: 2.如何使用Django (1)安装 (2&a…...
用C语言来实现冒泡排序
以下是使用C语言实现冒泡排序的代码示例: #include<stdio.h>void bubbleSort(int arr[], int n) {int i, j;for (i 0; i < n-1; i){for (j 0; j < n-i-1; j){if (arr[j] > arr[j1]){// 交换arr[j]和arr[j1]int temp arr[j];arr[j] arr[j1];arr[…...
flink的副输出sideoutput单元测试
背景 处理函数中处理输出主输出的数据流数据外,也可以输出多个其他的副输出的数据流数据,当我们的处理函数有副输出时,我们需要测试他们功能的正确性,本文就提供一个测试flink副输出单元测试的例子 测试flink副输出单元测试 首先看一下处理…...
使用Inis搭配内网穿透实现Ubuntu上快速搭建博客网站远程访问
文章目录 前言1. Inis博客网站搭建1.1. Inis博客网站下载和安装1.2 Inis博客网站测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3.Cpolar稳定隧道(本地设置) 3. 公网访问测试总…...
基于蝴蝶算法优化概率神经网络PNN的分类预测 - 附代码
基于蝴蝶算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蝴蝶算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蝴蝶优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要:针对PNN神经网络的光滑…...
flink的KeyedBroadcastProcessFunction测试
背景 我们经常需要对KeyedBroadcastProcessFunction函数进行单元测试,以确保上线之前这个函数的功能是正常的,包括里面的广播状态和键值分区状态 测试KeyedBroadcastProcessFunction类 Testpublic void testHarnessForKeyedBroadcastProcessFunction()…...
【pytorch深度学习】torch-张量Tensor
torch-张量Tensor 文章目录 torch-张量Tensor1. 张量Tensor 1. 张量Tensor torch.tensor() # 创建一个标量(0维张量) scalar_tensor torch.tensor(3.14) # 创建一个向量(1维张量) vector_tensor torch.tensor([1, 2, 3]) # 创…...
odoo16前端框架源码阅读——rpc_service.js
odoo16前端框架源码阅读——rpc_service.js 先介绍点背景知识,这样方便阅读代码。 一、 JSONRPC的规范 https://www.jsonrpc.org/specification 中文翻译版本:https://wiki.geekdream.com/Specification/json-rpc_2.0.html JSON-RPC是一个无状态且轻…...
Nat. Med. | 成年人的城市生活环境对心理健康的影响
今天为大家介绍的是来自Jiayuan Xu和Gunter Schumann团队的一篇论文。城市居民暴露于许多可能相互结合和相互作用的环境因素,这些因素可能影响心理健康。目前尚未有工作尝试建模城市生活的复杂实际暴露与大脑和心理健康之间的关系,以及这如何受遗传因素调…...
stm32 WIFI模块_8266使用
使用以上配置可以正常回应,其中无论勾选或者不勾选DTR/RTS都可以得到正常回应 ATCWMODE?表示查询当前WiFi状态是处于热点模式(AP模式)或者是连接其他WiFi的那个模式。通过图片看出这个符号不能省略。 设置AP热点命令格式:ATCWSAP…...
【C/C++】malloc 或者 new 动态分配内存
1. malloc 是一个在 C 语言中用于动态分配内存的函数。 通过 malloc 函数,我们可以在程序运行时请求一定大小的内存块,然后将该内存块用于存储数据。 malloc 函数的声明如下: void* malloc(size_t size);它接受一个参数 size,表…...
如果让你重新开始学 C/C++,你的学习路线会是怎么选择?
1. 第一阶段 学好 C 语言和 Linux 1.1 学好 C 语言 无论你是科班还是非科班,建议你一定要学好 C 语言,它应该作为你必须掌握好的语言。你要熟悉 C 语言的基本语法,包括: 顺序、条件、循环三大控制语句 C 中几大基元数据类型的用…...
PCL安装与使用
1 apt安装 ubuntu20.04及以上版本下可以直接通过apt方式安装pcl编译好的二进制文件,二进制安装的版本为1.10。 sudo apt update sudo apt install libpcl-dev 2 源码安装 在pcl的github上下载对应的版本进行安装: https://github.com/PointCloudLibrary/pcl/rel…...
力扣刷题-二叉树-对称二叉树
101 对称二叉树 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 示例 2: 输入:root [1,2,2,null,3,null,3] 输出:false 思路 我的思路…...
常见面试题-计算机网络相关
1.OSI 七层模型? OSI 七层模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层 TCP/IP 五层模型:应用层、传输层、网络层、链路层、物理层 应用层 应用层是由网络应用程序使用的,是离用户最近的一层 应用层通过…...
leetcode做题笔记231. 2 的幂
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n 2x ,则认为 n 是 2 的幂次方。 示例 1: 输入:n 1 输出:tr…...
AI主播“败走”双11,想用AI省成本的商家醒醒吧,程序员不必担心失业,发展空间依旧很大
目录 1 2 3 “AI人”并不算是新鲜事,随着AI的发展,AI主播也开始悄悄进入到直播间中。 持续无间断的直播、比人工费便宜等优势,让很多商家选择了AI主播。 AI主播到底好不好用?终于在今年“双11”现出了原形。 1 AI主播没火过半年…...
◢Django 自写分页与使用
目录 1、设置分页样式,并展示到浏览器 2、模拟页码 3、生成分页 4、数据显示 5、上一页下一页 6、数据库的数据分页 7、封装分页 8、使用封装好的分页 建立好app后,设置路径path(in2/,views.in2),视图def in2(request): ,HTML: in2.html…...
某城高速综合管控大数据大屏可视化【可视化项目案例-04】
🎉🎊🎉 你的技术旅程将在这里启航! 🚀🚀 本文选自专栏:可视化技术专栏100例 可视化技术专栏100例,包括但不限于大屏可视化、图表可视化等等。订阅专栏用户在文章底部可下载对应案例源码以供大家深入的学习研究。 🎓 每一个案例都会提供完整代码和详细的讲解,不…...
如何在Linux下进行文件查看
cat 文本内容显示到终端 head 查看文件开头 tail 查看文件结尾 常用参数 -f 文件内容更新后,显示信息同步更新 wc 统计文件内容信息...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
动态 Web 开发技术入门篇
一、HTTP 协议核心 1.1 HTTP 基础 协议全称 :HyperText Transfer Protocol(超文本传输协议) 默认端口 :HTTP 使用 80 端口,HTTPS 使用 443 端口。 请求方法 : GET :用于获取资源,…...
云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
