![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Django项目实战
手把手教你学习Django
哥哥的梦
这个作者很懒,什么都没留下…
展开
-
MySQL主从同步
主从同步机制 主从同步介绍和优点 在多台数据服务器中,分为主服务器和从服务器。一台主服务器对应多台从服务器。 主服务器只负责写入数据,从服务器只负责同步主服务器的数据,并让外部程序读取数据。 主服务器写入数据后,即刻将写入数据的命令发送给从服务器,从而使得主从数据同步。 应用程序可以随机读取某一台从服务器的数据,这样就可以分摊读取数据的压力。 当从服务器不能工作时,整个系统将不受影响;当主服务器不能工作时,可以方便地从从服务器选举一台来当主服务器 使用主从同步的优点: 提高读写性能 因为主从同步之后,原创 2022-01-13 23:27:58 · 120 阅读 · 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 · 220 阅读 · 1 评论 -
Django电商项目(十三)用户基本信息
用户基本信息逻辑分析 以下是要实现的后端逻辑 用户模型补充email_active字段 查询并渲染用户基本信息 添加邮箱 发送邮箱验证邮件 验证邮箱 查询并渲染用户基本信息 用户模型补充email_active字段 由于在渲染用户基本信息时,需要渲染用户邮箱验证的状态,所以需要给用户模型补充email_active字段 补充完字段后,需要进行迁移。 python manage.py makemigrations python manage.py migrate 查询用户基本信息 class UserI原创 2022-01-10 23:09:37 · 192 阅读 · 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%85 QQ互联应用申请步骤 成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ互联的应用ID。 相关连接:http://wiki.connect.qq.c原创 2022-01-09 23:10:07 · 249 阅读 · 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 · 308 阅读 · 1 评论 -
Djangod电商项目(十)账号登录功能
用户名登录逻辑分析 返回登录页面 class LoginView(View): """用户名登录""" def get(self, request): """ 提供登录界面 :return: 登录界面 """ return render(request, 'login.html') 用户名登录接口设计 请求方式 请求参数:表单 响应结果:HTML class LoginView(View):原创 2022-01-05 23:26:21 · 2113 阅读 · 1 评论 -
Django项目(十)异步发送celery
生产者消费者设计模式 问题: ● 我们的代码是自上而下同步执行的。 ● 发送短信是耗时的操作。如果短信被阻塞住,用户响应将会延迟。 ● 响应延迟会造成用户界面的倒计时延迟。 解决: ● 异步发送短信 ● 发送短信和响应分开执行,将发送短信从主业务中解耦出来 生产者消费者设计模式介绍 ● 为了将发送短信从主业务中解耦出来,我们引入生产者消费者设计模式。 ● 它是最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联 总结: ● 生产者生成消息,缓存到消息队列中,消费者读取消息队列原创 2022-01-04 20:22:09 · 129 阅读 · 0 评论 -
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 · 150 阅读 · 0 评论 -
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 · 680 阅读 · 0 评论 -
Django电商项目(七)短信发送的封装
这节课我们继续实现短信发送的功能。由于Django本身没有发送短信的功能,所以,我们使用第三方平台——容联云平台,完成短信功能的封装。 from ronglian_sms_sdk import SmsSDK import json accId = '8a216da879c0854b0179c2767c06010c' accToken = 'af873c0294de46dd856239927df45110' appId = '8a216da879c0854b0179c2767ce80112' # 单例模原创 2021-12-31 22:46:53 · 469 阅读 · 0 评论 -
Django项目(六)图形验证码的实现
这次我们完成图形验证码的实现过程 图形验证码逻辑分析 准备captcha扩展包 captcha扩展包用于后端生成图形验证码 图形验证码后端逻辑 from django.shortcuts import render from django.views import View from verifications.libs.captcha.captcha import captcha from django_redis import get_redis_connection from django.htt原创 2021-12-30 22:15:27 · 1422 阅读 · 0 评论 -
Django电商项目(五)
用户状态保持 Django中为我们提供了login()用来做用户状态保持, login()方法介绍 用户登入本质: ○ 状态保持 ○ 将通过认证的用户的唯一标识信息(比如:用户ID)写入到当前浏览器的 cookie 和服务端的 session 中。 login()方法: ○ Django用户认证系统提供了login()方法。 ○ 封装了写入session的操作,帮助我们快速登入一个用户,并实现状态保持。 login()位置: ○ django.contrib.auth.init.py文件中。 # 状原创 2021-12-28 21:36:26 · 388 阅读 · 0 评论 -
Django电商项目(四)用户注册-前端逻辑的实现
上次我们完成了用户注册表单验证,这次我们完成注册页面前端逻辑实现 前端用户登录js let vm = new Vue({ el: '#app', delimiters: ['[[', ']]'], data: { // v-model username: '', password: '', password2: '', mobile: '', allow: '', //原创 2021-12-28 18:50:38 · 1202 阅读 · 0 评论 -
Django电商项目(三)
这次我们完成后端注册页面的逻辑实现 新建forms.py文件进行表单验证 from django import forms class 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 · 766 阅读 · 0 评论 -
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 · 701 阅读 · 0 评论 -
Django项目实战(一)项目准备
开发模式 选项 技术选型 开发模式 前后端不分离 后端框架 Django 前端框架 Vue.js 说明 ● 前后端不分离的开发模式,是为了提高搜索引擎排名,即SEO。特别是首页,详情页和列表页。 ● 页面需要局部刷新:我们会选择使用Vue.js来实现 归纳项目主要模块 为了方便项目管理及多人协同开发,我们根据需求将功能划分为不同的模块。 将来在项目中,每个模块都会对应一个子应用进行管理和解耦。 模块 功能 验证 图形验证、短信验证 用户 注册、登录、用户中心原创 2021-12-24 18:32:37 · 2399 阅读 · 0 评论