从零开始:Django初学者的实战之旅
一、概念引入
要基于编程开发一个完整的企业项目不管什么样的项目,基本都有3种不同的开发模式,这几种开发模式,如果把项目类比成建造房子则有如下:
1.原生开发:类似从0开始造房子,从0开始构建项目,什么东西都是自己实现的
2.敏捷开发:基于框架,开发工具]从一个半成品开发到成品,类似毛坯房构建成成品房
3.二次开发:从公司原有的项目,或者从开源项目中,进行二次改造,不需要的功能隐藏或者删除,没有的功能进行开发集成类似二手房改造。
重量级框架:Django
二、问题探索
问题一:Django框架概述
问题二:Django框架的特点
问题三:Django框架的设计模式
问题四:Django框架的交互流程(生命周期/访问流程)
问题五:Diango框架的基本使用
问题六:Diango框架的两大对象
问题七:保持登录状态Cookie-Session
三、认识Django
Python下有许多款不同的Web框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Diango。
Django是一个开放源代码的Web应用框架,由Python写成。
Diango遵守BSD版权,初次发布于2005年7月,并于2008年9月发布了第一个正式版本1.0.
Django采用了MVT的软件设计模式,即模型(Model),视图(View)和模板(Template).
django的发布路线:Download Django | Django
官网:The web framework for perfectionists with deadlines | Django
四、项目初始化
1.指定位置创建Django项目
创建完成后就会自动初始化完成,初始启动查看
浏览器进入指定网页:http://localhost:8000/
需要注意的是下面这两个文件:
settings.py 基础设置文件夹
urls.py 路由配置文件夹:配置后端接口、渲染数据以及网页
settings.py可以修改一些配置:
语言改成中文:
LANGUAGE_CODE = 'en-us' 改为 LANGUAGE_CODE = 'zh-hans'
时区时间改一下:
TIME_ZONE = 'UTC' 改成 TIME_ZONE = 'Asia/Shanghai'
项目刷新一下,改好咯
settings.py 文件中ctrl+F搜索找到DATABASES
打开Navicat软件,右键新建数据库lagou
由于数据保存在本地mysql中,所以修改为
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'lagou','USER': 'root','PASSWORD': '158158','HOST': 'localhost','PORT': '3306',}
}
user和password根据自己设置的来哦
五、爬虫【单独写一篇文章】
链接跳转
六、数据存储【集群启动】
前提说明:提前下载配置好hadoop,hive【不会->跟着做】,spark【spark配置教程】,本人三个集群节点分别为192.168.222.101 192.168.222.102 192.168.222.103
root目录中可能出现一些权限的问题,这里我将使用用户hadoop
七、创建APP
作用:把项目对应的功能划分成不同的模块
终端:python manage.py startapp myApp
settings.py的INSTALLED_APPS的内容添加:
python manage.py makemigrations
应用到数据库中:
python manage.py migrate
前端框架下载:链接
把moban6048和template-007文件放在项目下即可
settings.py文件中添加:
import os
#静态资源文件
STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),
)
views.py文件
from platform import uname
from django.shortcuts import render
from django.http import HttpResponseRedirect
from django.contrib import messages
from statsmodels.sandbox.distributions.sppatch import expect
from utils.querydb import *
from utils.getChartData import *
from utils.getPublicData import *
from myApp.models import *
# Create your views here.
def home(request):if request.method == 'GET':averageCityX,averageCityY,salarycategoryData,expSalaryX,expSalaryY1,expSalaryY2,peoplecategoryData,addresssumData=getIndexData()sorted_arr = list(getsalaryTop())return render(request, 'home.html',{'averageCityX':averageCityX,'averageCityY':averageCityY,'salarycategoryData':salarycategoryData,'expSalaryX':expSalaryX,'expSalaryY1':expSalaryY1,'expSalaryY2':expSalaryY2,'peoplecategoryData':peoplecategoryData,'addresssumData':addresssumData,'sorted_arr':sorted_arr})#渲染页面def login(request):if request.method == 'GET':return render(request, 'login.html',{})#渲染页面def registry(request):if request.method == 'GET':return render(request, 'registry.html',{})#else:uname = request.POST.get('username')password = request.POST.get('password')ckPassword = request.POST.get('ckPassword')print(uname,password,ckPassword)try:User.objects.get(username=uname)message='用户名已注册'except:if not uname or not password or not ckPassword:message='请输入完整信息'messages.error(request, message)return HttpResponseRedirect('/myApp/registry/')elif password != ckPassword:message='两次密码不一致,请重新输入'messages.error(request, message)return HttpResponseRedirect('/myApp/registry/')else:User.objects.create(username=uname,password=password)messages.success(request, '注册成功')return HttpResponseRedirect('/myApp/login/')return render(request, 'registry.html',{})
def salaryChar(request):if request.method == 'GET':return render(request, 'index.html',{})
整个项目在pycharm专业版中运行,未完待续....
相关文章:
从零开始:Django初学者的实战之旅
一、概念引入 要基于编程开发一个完整的企业项目不管什么样的项目,基本都有3种不同的开发模式,这几种开发模式,如果把项目类比成建造房子则有如下: 1.原生开发:类似从0开始造房子,从0开始构建项目…...
青果教务系统逆向(js逆向)
首先我们打开f12检查以下登录函数 可以看到登录函数在checkrand中,直接去全局搜索函数 在这里,打个断点直接跳进去 可以看到参数在这里形成 这是我们发起请求需要的参数,把这几个参数加进去直接登录就行 那就一个一个看呗,第一…...
在Linux中Redis不支持lua脚本的处理方法
redis安装在IP为x.x.x.x的服务器上 redis安装 第一步,安装前,检测系统是否安装了redis。若安装了redis,则需要删除redis;若没有安装redis,则需要安装2.6版本以上的redis。 # 确保Redis版本支持Lua脚本。从Redis 2.6…...
WPF进阶 | 深入 WPF 依赖项属性:理解其强大功能与应用场景
WPF进阶 | 深入 WPF 依赖项属性:理解其强大功能与应用场景 前言一、依赖项属性基础概念1.1 什么是依赖项属性1.2 依赖项属性与 CLR 属性的区别1.3 依赖项属性的定义与注册 二、依赖项属性的原理深入剖析2.1 依赖项属性系统的工作机制2.2 元数据(Metadata…...
关于 IoT DC3 中设备(Device)的理解
在物联网系统中,设备(Device)是一个非常宽泛的概念,它可以指代任何能够接入系统并进行数据交互的实体。包括但不限于手机、电脑、服务器、网关、硬件设备甚至是某些软件程序等所有能接入到该平台的媒介。 内容 定义 目的 示例 …...
从 0 开始本地部署 DeepSeek:详细步骤 + 避坑指南 + 构建可视化(安装在D盘)
个人主页:chian-ocean 前言: 随着人工智能技术的迅速发展,大语言模型在各个行业中得到了广泛应用。DeepSeek 作为一个新兴的 AI 公司,凭借其高效的 AI 模型和开源的优势,吸引了越来越多的开发者和企业关注。为了更好地…...
Uniapp 获取定位详解:从申请Key到实现定位功能
文章目录 前言一、申请定位所需的 Key1.1 注册高德开发者账号1.2 创建应用1.3 添加 Key 二、在 Uniapp 中配置定位功能2.1 引入高德地图 SDK2.2 获取定位权限 三、实现定位功能3.1 使用 uni.getLocation 获取位置3.2 处理定位失败的情况3.3 持续定位3.4 停止持续定位 四、总结 …...
【6】阿里面试题整理
[1]. ThreadLocal原理 ThreadLocal提供了一种线程隔离的机制,使得每个线程拥有自己独立的变量副本。 它的底层实现是ThreadLocalMap,以ThreadLocal对象为键,变量副本为值的键值对。 为了避免内存泄漏,ThreadLocalMap的Key使用了…...
Spring系统学习——持续更新
spring概述 1.轻量级的开源的JAVAEE框架 2.解决企业应用开发的复杂性 3.两大核心 :IOC(控制反转)和AOP(面向切面) 4.Spring特点: 1.方便解耦,简化开发。2.Aop编程支持3.方便程序测试4.方便和其…...
【自学笔记】机器学习基础知识点总览-持续更新
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 机器学习重点知识点总览一、机器学习基础概念二、机器学习理论基础三、机器学习算法1. 监督学习2. 无监督学习3. 强化学习 四、机器学习处理流程五、机器学习常见问…...
QT笔记——QRadioButton
文章目录 1、概要2、实际的应用2.1、创建多个QRadioButton,只可同时选中其中一个,点击后实现对应的槽函数 1、概要 实现QRadioButton相关的应用;2、实际的应用 2.1、创建多个QRadioButton,只可同时选中其中一个,点击后实现对应的槽函数 创建…...
微服务面试题:远程调用
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
共享设备管理难?MDM助力Kiosk模式一键部署
目录 1. 简化设备部署与配置:实现一键式部署 2. 自动化应用更新与内容推送:确保设备始终保持最新状态 3. 权限控制与设备安全:防止滥用与数据泄露 4. 远程管理与故障诊断:保障设备长期稳定运行 5. 数据分析与报告:…...
C++17 中的 std::reduce:详细教程
文章目录 1. 简介2. 函数签名3. 使用场景3.1 简单的累加操作3.2 自定义归并操作3.3 并行计算的性能优势 4. 注意事项4.1 归并操作的结合律和交换律4.2 默认值的使用 5. 总结 1. 简介 std::reduce 是 C17 标准库中引入的一个算法,用于对范围内的元素进行归并操作。它…...
Navicat导入海量Excel数据到数据库(简易介绍)
目录 前言正文 前言 此处主要作为科普帖进行记录 原先Java处理海量数据的导入时,由于接口超时,数据处理不过来,后续转为Navicat Navicat 是一款功能强大的数据库管理工具,支持多种数据库系统(如 MySQL、PostgreSQL、…...
【Map vs Set】:Java数据存储的“双子星”对决
个人主页:♡喜欢做梦 欢迎 👍点赞 ➕关注 ❤️收藏 💬评论 目录 🍰一、搜索 🍮1.概念 🍮2.模型 🍰二、Map 🍨1.什么是Map? 🍨2.Map的实例化 &…...
储能能量管理监测系统在储能物联网中的应用优势
安科瑞刘鸿鹏 摘要 本文探讨了微电网能量管理系统在现代储能物联网中的应用。随着能源危机和新能源技术的发展,微电网技术成为利用新能源电力的重要方向。微电网能量管理系统通过实时监控、智能预测、协调控制和经济调度等功能,优化能源使用࿰…...
用户管理中心--注册登录功能的设计
文章目录 1.定义接口2.注册逻辑的实现2.1引入依赖2.2注册逻辑2.3测试方法 3.登录逻辑的实现3.1接口的定义与实现3.2记录用户的登录态3.3脱敏处理 1.定义接口 在userService这个接口里面定义我们的userRegister方法,表示的是我们的用户的注册的相关的逻辑࿱…...
【删除tomcat默认管理控制台】
停止Tomcat: ./catalina.sh stop 删除管理控制台应用: 进入Tomcat的webapps目录: cd /path/to/tomcat/webapps List item 删除manager和host-manager文件夹: rm -rf manager host-manager 启动Tomcat: ./catali…...
Java虚拟机面试题:JVM调优
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
MySQL 插入替换语句(replace into statement)
我们日常使用 insert into 语句向表中插入数据时,一定遇到过主键或唯一索引冲突的情况,MySQL的反应是报错并停止执行后续的语句,而replace into语句可以实现强制插入。 文章目录 一、replace into 语句简介1.1 基本用法1.2 使用set语句 二、注…...
基于单片机的多功能热水器设计(论文+源码)
2.1系统方案设计 基于单片机的多功能热水器系统,其系统框图如图2.1所示。主要采用了DS18B20温度传感器,HC-SR04超声波模块,STC89C52单片机,液晶,继电器等来构成整个系统。硬件上主要通过温度传感器进行水温的检测&…...
DeepSeek R1本地部署 DeepSeek Api接口调用 java go版本
1、本地ollama的API接口 接着上一章所本地部署deepseek,这一章我们调用ollama api 对应的curl: curl --request POST \--url http://localhost:11434/api/generate \--header Accept: */* \--header Accept-Encoding: gzip, deflate, br \--header Con…...
使用python脚本提取html网页上的所有文本信息
你可以使用 BeautifulSoup 库来提取 HTML 网页上的所有文本信息。以下是一个示例脚本: 步骤 安装 beautifulsoup4 和 requests(如果尚未安装): pip install beautifulsoup4 requestsPython 脚本: import requests fro…...
基于SSM+uniapp的购药小程序+LW示例参考
1.项目介绍 系统角色:管理员、普通用户功能模块:用户管理、商家管理、药品管理、药品信息管理、发票管理、订单管理、收藏管理、购物车、充值、下单等技术选型:SSM,Vue(后端管理web),uniapp等测…...
YOLO11网络结构以及改进1
YOLO11 1.YOLO11网络结构图在哪里?2.对应的网络结构图3.每一个模块详解3.1 Conv模块3.2关于卷积模块3.3 关于给各个模块指定参数的细节 4.加入CBAM 1.YOLO11网络结构图在哪里? 2.对应的网络结构图 3.每一个模块详解 3.1 Conv模块 位置:ultr…...
AI 编程私有化部署,在使用 cline 时,可能无法避免私隐的泄漏问题
摘录:Cline Privacy Policy https://github.com/cline/cline/blob/main/docs/PRIVACY.md Key Points Cline operates entirely client-side as a VS Code extensionNo code or data is collected, stored, or transmitted to Clines servers 问题是:…...
计算机视觉-局部特征
一、局部特征 1.1全景拼接 先用RANSAC估计出变换,就可以拼接两张图片 ①提取特征 ②匹配特征 ③拼接图像 1.2 点的特征 怎么找到对应点?(才能做点对应关系RANSAC) :特征检测 我们希望找到的点具有的特征有什么特…...
数据结构:Map Set(一)
目录 一、搜索树 1、概念 2、查找 3、插入 4、删除 二、搜索 1、概念及场景 2、模型 (1)纯key模型 (2)Key-Value模型 三、Map的使用 1、什么是Map? 2、Map的常用方法 (1)V put(K …...
关闭浏览器安全dns解决访问速度慢的问题
谷歌浏览器加载速度突然变慢了?检查安全DNS功能(DoH)是否被默认开启。 谷歌浏览器在去年已经推出安全DNS功能(即DoH) , 启用此功能后可以通过加密的DNS增强网络连接安全性。例如查询请求被加密后网络运营商将无法嗅探用户访问的地址,因此对于增强用户的…...
