自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 MySQL操作数据表-----------创建数据表(一)

在MySQL中创建数据库完成后,需要使用USE 数据库名的形式指定进行操作的数据库,然后再去执行创建数据表的SQL语句,也可以直接使用数据库名.数据表名的形式创建数据表。

2023-02-27 17:53:15 483 1

原创 MYSQL操作数据库-------查看、删除数据库

上篇我们学习了如何去创建数据库,本篇我们来学习如何查看和删除数据库。

2023-02-25 15:03:55 956

原创 MySQL操作数据库-------创建数据库

这个时候可以使用此语句进行创建,这个sql语句的含义为:如果MySQL中已经不存在相关的数据库,则创建数据库;如果MySQL中已经存在相关的数据库则忽略创建语句,不再创建数据库。eg.如果数据库中已经存在相同名称的数据库,再次使用CRAETE DATABASE database_name语句创建时会报错。搭建好MySQL环境后,现在我们正式的进入到MySQL的学习当中,这篇文章讲述如何去创建MySQL数据库。可知,数据库创建成功,此时再次查看MySQL中的数据库。

2023-02-23 14:29:24 974

原创 MYSQL数据库的安装-----------Windows系统的安装(一)

从今天开始我将更新MYSQL从零到入门系列文章,一方面是让自己再重新温习下,另一方面也希望和大家能共同进步,如有错误,希望大家能踊跃指出错误。这篇文章先来叙述第一种MSI的安装方式。

2023-02-22 13:57:58 203 1

原创 安卓开发笔记-------文件存储与本地数据库SQLite(二)

此方法接受两个参数,第一个参数用于指定SharedPreferences文件的名称,如果指定的文件不存在则会创建一个,SharedPreferences文件都是存放在/data/data/package name/shared_prefs/目录下的。(2)向SharedPreferences.Editor对象中添加数据,比如添加一个布尔数据就使用putBoolean()方法,添加一个字符串就用putString()方法,依次类推。(3)调用apply()方法将添加的数据提交,从而完成数据存储工作。

2022-11-28 13:22:30 619 1

原创 安卓开发笔记-------文件存储与本地数据库SQLite(一)

【代码】安卓开发笔记-------文件存储与本地数据库SQLite(一)

2022-11-20 12:11:52 1394 1

原创 安卓开发笔记--------了解自定义控件

自定义组合控件,其实就是把多个现在有控件整合在一起,把复杂的操作封装起来,把简单的操作暴露出去。就是类似于TextView这些控件,里面不在包含其他子控件。类似于一个容器,如LinearLayout等,在里面会含有其他子控件,用来摆放这些子控件的位置。

2022-11-03 17:03:02 410 1

原创 安卓开发笔记———布局方式之百分比布局

【代码】安卓开发笔记———布局方式之百分比布局。

2022-11-02 16:17:26 2581 1

原创 安卓开发笔记-----四种布局方式之相对布局与帧布局

【代码】安卓开发笔记-----四种布局方式之相对布局。

2022-11-01 11:39:43 890 1

原创 安卓开发笔记----四种布局方式之一_线性布局

属性,这个属性用于指定控件在布局中的对齐方式,但需注意的是,当LinearLayout的排列方式是horizontal时只有,垂直方向上的对齐方式才会生效,因为此时水平方向上的长度是不固定的,每添加一个控件,水平方向的长度都会改变,因而无法指定该方向上的对齐方式。同样的道理,当LinearLayout的排列方向是vertical时,只有水平方向上的控件才会生效。

2022-10-31 18:03:34 922 2

原创 安卓开发笔记-1.分析目录中文件的含义

但这种目录结构只是Android Studio转换后简化了的,一般比较适合快速开发。但对于新手小白并不太容易理解,我们可以通过点击Android区域切换项目结构模式。是不是看到这些目录文件感到头晕?甚至怀疑自己是不是适合接着学下去?让我来带你一个个文件详细的讲解,等我讲完之后你一定会豁然开朗。

2022-10-30 17:25:51 146 1

原创 容器常用命令

docker容器命令

2022-06-20 21:24:07 937 1

原创 Docker常用命令

docker命令

2022-06-19 15:26:53 154 1

原创 ubantu20.04 Docker的安装

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

2022-06-19 11:50:34 280 1

原创 MySQL主从同步

主从同步机制主从同步介绍和优点在多台数据服务器中,分为主服务器和从服务器。一台主服务器对应多台从服务器。主服务器只负责写入数据,从服务器只负责同步主服务器的数据,并让外部程序读取数据。主服务器写入数据后,即刻将写入数据的命令发送给从服务器,从而使得主从数据同步。应用程序可以随机读取某一台从服务器的数据,这样就可以分摊读取数据的压力。当从服务器不能工作时,整个系统将不受影响;当主服务器不能工作时,可以方便地从从服务器选举一台来当主服务器使用主从同步的优点:提高读写性能因为主从同步之后,

2022-01-13 23:27:58 111 1

原创 Django电商项目(十四)

首页广告数据库表分析定义首页广告模型类class ContentCategory(BaseModel): """广告内容类别""" name = models.CharField(max_length=50, verbose_name='名称') key = models.CharField(max_length=50, verbose_name='类别键名') class Meta: db_table = 'tb_content_category'

2022-01-11 22:32:10 204 1

原创 Django电商项目(十三)用户基本信息

用户基本信息逻辑分析以下是要实现的后端逻辑用户模型补充email_active字段查询并渲染用户基本信息添加邮箱发送邮箱验证邮件验证邮箱查询并渲染用户基本信息用户模型补充email_active字段由于在渲染用户基本信息时,需要渲染用户邮箱验证的状态,所以需要给用户模型补充email_active字段补充完字段后,需要进行迁移。python manage.py makemigrationspython manage.py migrate查询用户基本信息class UserI

2022-01-10 23:09:37 184 1

原创 Django电商项目(十二)实现QQ登录

QQ登录:即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目。QQ互联开发者申请步骤若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现。相关连接:http://wiki.connect.qq.com/%E6%88%90%E4%B8%BA%E5%BC%80%E5%8F%91%E8%80%85QQ互联应用申请步骤成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ互联的应用ID。相关连接:http://wiki.connect.qq.c

2022-01-09 23:10:07 242 1

原创 Django项目(十一)自定义后端认证登录

def get_user_by_account(account): """ 根据account查询用户 :param account: 用户名或者手机号 :return: user """ try: if re.match('^1[3-9]\d{9}$', account): # 手机号登录 user = User.objects.get(mobile=account) else:

2022-01-08 18:38:55 292 1

原创 Djangod电商项目(十)账号登录功能

用户名登录逻辑分析返回登录页面class LoginView(View): """用户名登录""" def get(self, request): """ 提供登录界面 :return: 登录界面 """ return render(request, 'login.html')用户名登录接口设计请求方式请求参数:表单响应结果:HTMLclass LoginView(View):

2022-01-05 23:26:21 2092 1

原创 Django项目(十)异步发送celery

生产者消费者设计模式问题:● 我们的代码是自上而下同步执行的。● 发送短信是耗时的操作。如果短信被阻塞住,用户响应将会延迟。● 响应延迟会造成用户界面的倒计时延迟。解决:● 异步发送短信● 发送短信和响应分开执行,将发送短信从主业务中解耦出来生产者消费者设计模式介绍● 为了将发送短信从主业务中解耦出来,我们引入生产者消费者设计模式。● 它是最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联总结:● 生产者生成消息,缓存到消息队列中,消费者读取消息队列

2022-01-04 20:22:09 122

原创 Django项目(九)

补充注册时短信验证后端逻辑接收短信验证码参数sms_code_client = request.POST.get('sms_code')在forms表单中添加验证sms_code = forms.CharField(max_length=6, min_length=6, required=True)保存注册数据之前,对比短信验证码redis_conn = get_redis_connection('verify_code')sms_code_server = redis_conn.get(

2022-01-03 18:58:39 144

原创 Django电商项目(八)短信验证码的前后端实现

这篇文章我们开始完成短信验证码的前后端逻辑后端逻辑短信验证码接口设计class SMSCodeView(View): """短信验证码""" def get(self, request, mobile): """ :param mobile: 手机号 :return: JSON """ # 接收参数 image_code_client = request.GET.get('image_

2022-01-02 21:37:31 664

原创 Django电商项目(七)短信发送的封装

这节课我们继续实现短信发送的功能。由于Django本身没有发送短信的功能,所以,我们使用第三方平台——容联云平台,完成短信功能的封装。from ronglian_sms_sdk import SmsSDKimport jsonaccId = '8a216da879c0854b0179c2767c06010c'accToken = 'af873c0294de46dd856239927df45110'appId = '8a216da879c0854b0179c2767ce80112'# 单例模

2021-12-31 22:46:53 462

原创 Django项目(六)图形验证码的实现

这次我们完成图形验证码的实现过程图形验证码逻辑分析准备captcha扩展包captcha扩展包用于后端生成图形验证码图形验证码后端逻辑from django.shortcuts import renderfrom django.views import Viewfrom verifications.libs.captcha.captcha import captchafrom django_redis import get_redis_connectionfrom django.htt

2021-12-30 22:15:27 1377

原创 Django电商项目(五)

用户状态保持Django中为我们提供了login()用来做用户状态保持,login()方法介绍用户登入本质:○ 状态保持○ 将通过认证的用户的唯一标识信息(比如:用户ID)写入到当前浏览器的 cookie 和服务端的 session 中。login()方法:○ Django用户认证系统提供了login()方法。○ 封装了写入session的操作,帮助我们快速登入一个用户,并实现状态保持。login()位置:○ django.contrib.auth.init.py文件中。 # 状

2021-12-28 21:36:26 379

原创 Django电商项目(四)用户注册-前端逻辑的实现

上次我们完成了用户注册表单验证,这次我们完成注册页面前端逻辑实现前端用户登录jslet vm = new Vue({ el: '#app', delimiters: ['[[', ']]'], data: { // v-model username: '', password: '', password2: '', mobile: '', allow: '', //

2021-12-28 18:50:38 1186

原创 Django电商项目(三)

这次我们完成后端注册页面的逻辑实现新建forms.py文件进行表单验证from django import formsclass RegisterForm(forms.Form): username = forms.CharField(max_length=20, min_length=5, required=True, error_messages={"max_length": "用户名最常长度为20", "min_length": "用户名最短为5"}) password =

2021-12-27 20:17:10 753

原创 Django电商项目(二)

上一篇文章我们完成了一些准备工作。接下来完成用户页面的展示。创建用户模块子应用 python manage.py startapp users建立apps文件夹将所有应用放在apps文件夹中注册用户模块子应用将users模块注册INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessi

2021-12-25 23:11:30 675

原创 Django项目实战(一)项目准备

开发模式选项技术选型开发模式前后端不分离后端框架Django前端框架Vue.js说明● 前后端不分离的开发模式,是为了提高搜索引擎排名,即SEO。特别是首页,详情页和列表页。● 页面需要局部刷新:我们会选择使用Vue.js来实现归纳项目主要模块为了方便项目管理及多人协同开发,我们根据需求将功能划分为不同的模块。将来在项目中,每个模块都会对应一个子应用进行管理和解耦。模块功能验证图形验证、短信验证用户注册、登录、用户中心

2021-12-24 18:32:37 2314

原创 无限debugger原理与绕过方法

文章目录debugger原理绕过方式禁用全局断点禁用局部断点条件断点替换文件debugger原理俗话说:“知己知彼,方能百战百胜”。js中通常用debugger关键字来实现无限循环。debugger 语句用于停止执行 JavaScript(以下简称JS),并调用 (如果可用) 调试函数。使用 debugger 语句类似于在代码中设置断点。注意: 如果调试工具不可用,则调试语句将无法工作。也就是说只有在打开调试工具的时候才会触发debugger语句绕过方式禁用全局断点先来一个实例,网址是:

2021-12-18 21:30:42 2500

原创 Python基础-------面向对象二

目录一、封装一、封装什么是封装在日常中封装指的是将我们的物品包裹起来,不让看到其内部,具有保护的功能。在程序设计中,封装(Encapsulation)是将类中的某些部分(某些属性或者方法)隐藏起来,对象不能直接使用隐藏起来的属性或者方法,具有保护功能。私有属性封装格式:_属性名示例# 封装:私有属性# class Car():## def __init__(self, name, color):# self._name = name # 私有属性#

2021-03-30 21:02:00 173

原创 Python基础--------面向对象一

面向对象到目前为止,在我们的程序中,我们都是根据操作数据的函数或语句块来设计程序的。这被称为 面向过程的 编程。还有一种把数据和功能结合起来,用称为对象的东西包裹起来组织程序的方法。这种方法称为 面向对象的 编程理念。面向过程的与面向对象的区别:面向过程:面向过程指将我们的程序分解为一个一个步骤,通过对每个步骤的抽象来完成程序这种编写方式往往只适用于一个功能,如果要实现别的功能,往往复用性比较低这种编程方式符号人类的思维,编写起来比较容易面向对象:面向对象的编程语言,关注的是对象,而不注重

2021-03-27 14:22:15 104

原创 Python基础----十一

目录一、装饰器1.1什么是装饰器1.2带参数的装饰器二、列表推导式三、生成器四、迭代器五、代码规范作业一、装饰器1.1什么是装饰器python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。其实装饰器就是一个闭包,装饰器是闭包的一种应用实例def func_a(a): def new_func(): print('我是new_func')

2021-03-25 10:08:13 91 1

原创 Python基础-------十

目录一、递归函数1.1什么是递归函数二、高阶函数三、匿名函数四、闭包作业练习一、递归函数1.1什么是递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。示例1、求阶乘>>> def get_factorial(n): # 定义阶乘函数... if n == 1: # 退出递归的分支...

2021-03-23 13:40:07 321 1

原创 Python基础--------九

目录一、不定长参数二、 参数的解包三、函数的返回值四、 文档字符串五、函数的作用域作业一、不定长参数不定长参数• 定义函数时,可以在形参前面加一个*,这样这个形参可以获取到所有的实参,它会将所有的实参保存到一个元组中示例def fun(*args): print(args)fun(1,2,2)结果(1, 2, 2)• 带*号的形参只能有一个,可以和其他参数配合使用• *形参只能接受位置参数,不能接受关键字参数• **形参可以接收其他的关键字参数,它会将这些参数统一保存到字典

2021-03-20 14:27:55 122 1

原创 Python基础笔记-----------八

目录一、字典的遍历1.1第一种方法dict.keys()第二种方法dict.values()第三种方法dict.items()二、集合2.1集合的简介一、字典的遍历1.1第一种方法dict.keys()# dict.keys()获取字典的所有键dict = { 'name': '小龙女', 'age': '20', 'gender': '女'}print(dict.keys())输出结果dict_keys(['name', 'age', 'gender'])第二种方法dict.

2021-03-18 23:22:38 194

原创 Python基础笔记-------------七

目录一、for循环二、for……else……格式三、range函数四、元组五、字典一、for循环语法for 变量 in 迭代序列(即列表,元组,字典,集合或字符串): 循环体注意: for循环的循环体会执行多次,序列中有几个元素就会执行几次。每执行一次就会将序列中的一个元素赋值给变量,所以我们可以通过变量来获取列表中的元素例子#for 循环访问列表list = ['woodman', 'Alan', 'Bobo']for name in list: print(nam

2021-03-17 19:20:23 82

原创 Python基础语法

目录一、基本概念1.1表达式1.2语句1.3程序1.4函数1.5标识符二、变量2.1变量的概念2.2变量的运算三、基本数据类型3.1整数和小数3.2字符串作业一、基本概念1.1表达式表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合表达式特点表达式一般仅仅用于计算一些结果,不会对程序产生实质性的影响如果在交互模式中输入一个表达式,解释器会自动将表达式的结果输出1.2语句一个语法上自成体系的单位,它由一个词或句法上有关连的一组词

2021-03-15 17:18:40 71

原创 Python基础--------Python要点

目录Python要点一、Python语言概述1.1Python语言的概念Python要点一、Python语言概述1.1Python语言的概念Python 是一种极少数能兼具 简单 与 功能强大 的编程语言。你将惊异于发现你正在使用的这门编程语言是如此简单,它专注于如何解决问题,而非拘泥于语法与结构官方对 Python 的介绍如下:Python 是一款易于学习且功能强大的编程语言。 它具有高效率的数据结构,能够简单又有效地实现面向对象编程。Python 简洁的语法与动态输入之特性,加之其解释性

2021-03-14 19:16:44 194

Django_project.zip

Django_project.zip

2021-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除