- 博客(126)
- 资源 (2)
- 收藏
- 关注
原创 Django项目实战——14—(列表页热销排行、商品搜索、Haystack建立数据索引、渲染商品搜索结果、商品详情页)
1、列表页热销排行根据路径参数category_id查询出该类型商品销量前二的商品。使用Ajax实现局部刷新的效果。查询列表页热销排行数据请求方式请求参数:路径参数响应结果:JSON{ "code":"0", "errmsg":"OK", "hot_skus":[ { "id":6, "default_image_url":"http://image.meiduo.site:8888/group1
2020-10-09 17:45:03
1003
1
原创 Django项目实战——13—(自定义Django文件存储类、商品列表页、列表页面包屑导航、列表页分页和排序)
1、自定义Django文件存储类上一篇博客中介绍了首页轮播图的显示,由于因为域名的问题,图片无法访问虚拟机中的storage容器中存储的data数据。结论:通过FastDFS上传文件后返回的Remote file_id字段是文件索引。文件索引会被我们存储到MySQL数据库。所以将来读取出来的也是文件索引,导致界面无法下载到图片。解决:重写Django文件存储类的url()方法。在重写时拼接完整的图片下载地址(协议、IP、端口、文件索引)Django文件存储类url()方法介绍结
2020-09-11 17:41:02
760
原创 Django项目实战——12—(Docker和FastDFS上传和下载文件、浏览器下载并渲染图片(nginx)、录入商品数据和图片数据、首页广告)
1、Docker和FastDFS上传和下载文件Docker安装运行FastDFS获取FastDFS镜像# 从仓库拉取镜像sudo docker image pull delron/fastdfs# 解压资料中本地镜像sudo docker load -i 文件路径/fastdfs_docker.tar开启tracker容器我们将 tracker 运行目录映射到宿主机的 /var/fdfs/tracker目录中。sudo docker run -dit --name tracker
2020-09-04 16:42:27
732
1
原创 Django项目实战——11—(文件存储方案FastDFS、容器化方案Docker)
准备知识虚拟机VMware15中安装Ubuntu18.04步骤https://blog.csdn.net/qq_33287871/article/details/99212352Ubuntu18镜像文件链接:https://pan.baidu.com/s/1Lr9HozYHYTZCRnnv4tI1pg 提取码:6ht6Ubuntu 16.04安装docker详细步骤https://blog.csdn.net/jinking01/article/details/82490688Xshell连接
2020-08-28 17:15:07
521
原创 Django项目实战——10—(修改地址前后端逻辑、删除地址前后端逻辑、设置默认地址、修改密码、虚拟机安装docker/FastDFS、电商-商品知识、首页广告数据库表分析、商品信息数据库表分析)
1、修改地址前后端逻辑修改地址接口设计和定义请求方式请求参数:路径参数 和 JSON响应结果:JSON修改地址后端逻辑实现删除地址后端逻辑和新增地址后端逻辑非常的相似。都是更新用户地址模型类,需要保存用户地址信息。class UpdateDestroyAddressView(LoginRequiredJSONMixin, View): """修改和删除地址""" def put(self, request, address_id): """修改地址
2020-08-27 10:52:17
579
原创 Django项目实战——9—(查询省市区数据、新增地址前后端逻辑、新增地址接口设计和定义、展示地址前后端逻辑)
1、查询省市区数据请求方式请求参数:查询参数如果前端没有传入area_id,表示用户需要省份数据如果前端传入了area_id,表示用户需要市或区数据响应结果:JSON省份数据市或区数据查询省市区数据后端逻辑实现如果前端没有传入area_id,表示用户需要省份数据如果前端传入了area_id,表示用户需要市或区数据Vue渲染省市区数据user_center_site.js中...
2020-08-25 15:58:19
2170
原创 Django项目实战——8—(判断用户是否登录并返回JSON、Django发送邮件的配置、生成邮箱验证链接、验证邮箱后端逻辑)
1、判断用户是否登录并返回JSON重要提示:只有用户登录时才能让其绑定邮箱。此时前后端交互的数据类型是JSON,所以需要判断用户是否登录并返回JSON给用户。方案一:使用Django用户认证系统提供的is_authenticated()class EmailView(View): """添加邮箱""" def put(self, request): """实现添加邮箱逻辑""" # 判断用户是否登录并返回JSON if no
2020-08-20 18:31:01
3657
原创 Django项目实战——7—(openid是否绑定用户的处理、用户基本信息渲染、添加和验证邮箱)
1、openid是否绑定用户的处理判断openid是否绑定过用户使用openid查询该QQ用户是否在商城中绑定过用户。try: oauth_user = OAuthQQUser.objects.get(openid=openid)except OAuthQQUser.DoesNotExist: # 如果openid没绑定美多商城用户 passelse: # 如果openid已绑定美多商城用户 passopenid已绑定用户的处理如果openid已绑定
2020-08-18 19:42:25
1309
原创 Django项目实战——6—(退出登录、判断用户是否登录、QQ登录、QQ登录工具QQLoginTool、本机绑定域名)
1、退出登录注册界面跳转到登陆界面:templates/register.html 前端注册界面{# 跳转到登陆界面 #} <a href="{% url 'users:login' %}">登录</a>logout()方法介绍退出登录:• 回顾登录:将通过认证的用户的唯一标识信息,写入到当前session会话中• 退出登录:正好和登录相反(清理session会话信息)logout()方法:• Django用户认证系统提供了
2020-08-12 23:08:41
1598
原创 Django项目实战——5—(用户登录、首页用户名展示、项目阶段总结)
1、用户登录用户名登录逻辑分析用户名登录接口设计请求方式请求参数:表单响应结果:HTML用户名登录接口定义
2020-08-11 20:21:51
1426
原创 Django项目实战——4—(短信验证码前端逻辑、避免频繁发送短信验证码、补充注册时短信验证后端逻辑、pipeline操作Redis数据库、异步方案Celery)
1、短信验证码前端逻辑Vue绑定短信验证码界面
2020-08-08 18:03:34
620
原创 Django项目实战——3—(图形验证码后端逻辑、短信验证码、短信验证码后端逻辑)
1、图形验证码后端逻辑准备captcha扩展包captcha扩展包用于后端生成图形验证码,captcha扩展包可以从网上百度找到相关代码和文件,fonts是支持的字体文件,包含有actionj.ttf、Arial.ttf、Georgia.ttf。生成验证码文件:apps/verifications/libs/captcha/captcha.py#!/usr/bin/env python# -*- coding: utf-8 -*-# refer to `https://bitbucket.o
2020-08-04 17:29:43
1190
原创 Django项目实战——2—(用户注册前端接口设计、用户注册后端逻辑、验证码)
1、用户注册接口设计请求方式请求参数:表单参数响应结果用户注册接口定义"""视图文件apps/users/views.py文件"""from django.shortcuts import renderfrom django.http import HttpResponsefrom django.views import Viewclass RegisterView(View): """用户注册""" def get(self, request)
2020-07-29 19:36:04
662
原创 Django项目实战——1—(项目开发准备工作、项目架构设计、工程创建和配置、用户注册业务逻辑分析)
1、项目开发准备工作项目开发流程1. 项目需求分析需求分析原因:可以整体的了解项目的业务流程和主要的业务需求。项目中,需求驱动开发。即开发人员需要以需求为目标来实现业务逻辑。需求分析方式:企业中,借助 产品原型图 分析需求。需求分析完后,前端按照产品原型图开发前端页面,后端开发对应的业务及响应处理。需求分析内容:页面及其业务流程和业务逻辑。提示:我们现在借助 示例网站 作为原型图来分析需求。2、归纳项目主要模块为了方便项目管理及多人协同开发,我们根据需求将功能
2020-07-27 10:55:33
1020
1
原创 Django框架学习——14—(ModelForm、save方法、文件上传、限制上传的文件拓展名、cookie和session、上下文处理器)
1、ModelForm大家在写表单的时候,会发现表单中的Field和模型中的Field基本上是一模一样的,而且表单中需要验证的数据,也就是我们模型中需要保存的。那么这时候我们就可以将模型中的字段和表单中的字段进行绑定。比如Article的模型。from django.db import modelsfrom django.core import validators # 验证器class Article(models.Model): title = models.CharFiel
2020-07-22 16:54:29
914
原创 Django框架学习——13—(通用代码分页功能、错误处理、表单、常用的Field、常用验证器)
1、通用代码分页功能实例代码:前端界面:article_list.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https:
2020-07-19 21:45:28
353
原创 Django框架学习——12—(HttpRequest对象、HttpResponse对象、类视图)
1、HttpRequest对象WSGIRequest对象Django在接收到http请求之后,会根据http请求携带的参数以及报文信息创建一个WSGIRequest对象,并且作为视图函数第一个参数传给视图函数。也就是我们经常看到的request参数。在这个对象上我们可以找到客户端上传上来的所有信息。这个对象的完整路径是django.core.handlers.wsgi.WSGIRequest。WSGIRequest对象常用属性WSGIRequest对象上大部分的属性都是只读的。因为这些属性是从客户端
2020-07-15 21:42:47
455
原创 Django框架学习——11—(ORM模型迁移、migrations中的迁移版本和数据库中的迁移版本对不上、根据已有的表自动生成模型、Django限制请求方法、页面重定向)
1、ORM模型迁移迁移命令1.makemigrations:将模型生成迁移脚本。模型所在的app,必须放在settings.py中的INSTALLED_APPS中。这个命令有以下几个常用选项:app_label:后面可以跟一个或者多个app,那么就只会针对这几个app生成迁移脚本。如果没有任何的app_label,那么会检查INSTALLED_APPS中所有的app下的模型,针对每一个app都生成响应的迁移脚本。–name:给这个迁移脚本指定一个名字。–empty:生成一个空的迁移脚本。如果你
2020-07-10 15:46:54
459
原创 Django框架学习——10—(QuerySet源码、QuerySet的方法、将QuerySet转换为SQL去执行、ORM模型练习)
1、QuerySet源码我们通常做查询操作的时候,都是通过模型名字.objects的方式进行操作。其实模型名字.objects是一个django.db.models.manager.Manager对象,而Manager这个类是一个“空壳”的类,他本身是没有任何的属性和方法的。他的方法全部都是通过Python动态添加的方式,从QuerySet类中拷贝过来的。所以我们如果想要学习ORM模型的查找操作,首先要学会QuerySet上的一些API的使用。def index(request): from
2020-07-09 15:26:26
842
原创 Django框架学习——9—(查询操作、聚合函数、F表达式和Q表达式)
1、查询操作date针对某些date或者datetime类型的字段。可以指定date的范围。并且这个时间过滤,还可以使用链式调用。date_test = Common.objects.filter(test_date__date=datetime(year=2018,month=12,day=19))print(date_test.query)print(date_test)翻译成SQL语句:SELECT `user_common`.`id`, `user_common`.`content
2020-07-06 14:53:51
371
原创 Django框架学习——8—(外键和表关系、外键删除操作、查询操作)
1、外键和表关系如果想要引用另外一个app的模型,那么应该在传递to参数的时候,使用app.model_name进行指定。如果User和Article不是在同一个app中。models.py文件from django.db import models# 分类class Category(models.Model): name = models.CharField(max_length=100)# 文章class Article(models.Model): title
2020-07-04 21:37:18
367
原创 Django框架学习——7—(创建Django步骤、模型常用字段实例、外键和表关系)
创建Django项目步骤创建新的Django项目和app模块在项目settings.py文件中设置新的数据库配置等INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.stat
2020-07-01 14:52:02
243
原创 Django框架学习——6—(创建ORM模型、ORM的增删改查、模型常用属性)
1、创建ORM模型ORM模型一般都是放在app的models.py文件中。每个app都可以拥有自己的模型。并且如果这个模型想要映射到数据库中,那么这个app必须要放在settings.py的INSTALLED_APP中进行安装。以下是写一个简单的书籍ORM模型。from django.db import modelsclass Book(models.Model): id = models.AutoField(primary_key=True) name = models.CharFi
2020-06-29 17:44:04
373
原创 Django框架学习——5—(数据库、在Django中操作数据库、实战案例:图书管理系统、ORM模型介绍)
1、数据库MySQL驱动程序安装我们使用Django来操作MySQL,实际上底层还是通过Python来操作的。因此我们想要用Django来操作MySQL,首先还是需要安装一个驱动程序。在Python3中,驱动程序有多种选择。比如有pymysql以及mysqlclient等。这里我们就使用mysqlclient来操作。mysqlclient安装非常简单。只需要通过pip install mysqlclient即可安装。常见MySQL驱动介绍:MySQL-python:也就是MySQLdb。是对C语言
2020-06-28 20:36:03
617
原创 Django框架学习——4—(DTL模板标签、模版常用过滤器、模版结构优化、加载静态文件)
1、DTL模板标签在for循环中,DTL提供了一些变量可供使用。forloop.counter: 当前循环的下标。以1作为起始值。forloop.counter0: 当前循环的下标。以0作为起始值。forloop.revcounter: 当前循环的反向下标值。比如列表有5个元素,那么第一次遍历这个属性是等于5,第二次是4,以此类推。并且是以1作为最后一个元素的下标。forloop.revcounter0: 类似于forloop.revcounter。不同的是最后一个元素的下标是从0
2020-06-26 17:43:07
478
原创 Django框架学习——3—(URL指定默认的参数、re_path函数、模板介绍、模板变量、常用标签)
1、URL指定默认的参数article/views.pyfrom django.shortcuts import renderfrom django.http import HttpResponsebook = [ "python", "java", "PHP",]def article(request): return HttpResponse("前台文章 % s" % book[0])def page(request, page_num=1):
2020-06-20 21:17:00
1564
原创 Django框架学习——2—(视图、URL映射、URL中添加参数、URL模块化、Django内置转换器、url命名与反转、应用命名空间和实例命名空间、URL反转传递参数)
1、视图视图一般都写在app的views.py中。并且视图的第一个参数永远都是request(一个HttpRequest)对象。这个对象存储了请求过来的所有信息,包括携带的参数以及一些头部信息等。在视图中,一般是完成逻辑相关的操作。比如这个请求是添加一篇博客,那么可以通过request来接收到这些数据,然后存储到数据库中,最后再把执行的结果返回给浏览器。视图函数的返回结果必须是HttpResponseBase对象或者子类的对象。视图文件:book/views.pyfrom django.shortcu
2020-06-18 17:35:33
452
原创 Ubuntu Server 18.4中部署Flask+Uwsgi+Nginx的知识点记录
1、UWSGI介绍Flask 中自带了 web server,通过 Werkzeug,我们可以搭建 WSGI 服务,运行我们的网站,但 Flask 是 Web 框架,并不是 Web 服务器;uWSGI 是一个全站式的托管服务,它实现了应用服务器(支持多种编程语言)、代理、进程管理器、监视器。取名为 uWSGI 是因为它最早实现的是 Python 语言的 WSGI。uWSGI 包括四个部分:• uwsgi协议• web server 内置支持协议模块• application 服务器协议支持模块
2020-06-16 11:31:07
208
原创 国内换源地址
国内的源地址:阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学...
2020-06-15 09:39:09
1832
原创 Django框架学习——1—(虚拟环境搭建、MVC思想与Django的MVT区别、Django项目的创建、运行Django项目、项目结构介绍)
1、虚拟环境搭建创建新的Django框架的虚拟环境:注意:如果没有pipenv指令,需要安装这个支持库,同时需要记住配置它的环境变量,否则虚拟环境会安装在默认文件夹下(一般是C:\Users\Administrator.virtualenvs)# Windows安装pipenvpip install pipenvpipenv shell # 进入虚拟环境exit # 退出虚拟环境pipenv --rm # 删除整个环境 不会删除pipfileWi
2020-06-13 22:18:37
249
原创 Flask项目实战——13—(项目部署到阿里云服务器和本地服务器)
1、服务器选择云服务器部署的优点:为了固定的IP本地的IP是一个动态分配的IP地址,重启路由之后可能会变注意: 云服务器刚开始需要创建一个快照:保存当前的状态,可以利用快照还原到当前正常的状态。还需要将云服务器的常用的端口打开(安全组规则部分)。前面这部分是使用阿里云服务器的前期注意事项,后面的项目部署到阿里云服务器和本地服务器操作都一样。Xshell软件使用Xshell 是一个强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平台的 TE
2020-06-12 10:21:58
6025
2
原创 学习过程中遇到的错误BUG记录解决方案
1、七牛云BUG问题:七牛云上传本地文件能够成功,但是加载七牛空间中的图片就不会显示,图片显示的Request URL: http://qbautq371.bkt.clouddn.com中的前部分个人免费上传空间域名错误。解答:问题是多种可能:1、七牛空间上传域名地址没有修改,下面代码中需要将域名改成自己的上传空间域名。// 七牛云上传需要修改的部分内容$(function () { lgqiniu.setUp({ 'domain': 'http://qbautq371.b
2020-06-11 16:45:31
459
原创 Flask项目实战——12—(帖子评论和阅读数功能、帖子分类功能实现、项目完善、引入Celery异步发送邮件)
1、帖子评论和阅读数功能添加阅读数量字段:前台模型文件 apps/front/models.py# 帖子编辑提交模型class PostModel(db.Model): __tablename__ = "post" id = db.Column(db.Integer, primary_key=True, autoincrement=True) title = db.Column(db.String(100), nullable=True)
2020-06-06 21:58:16
1555
10
原创 Flask项目实战——11—(帖子详情展示、后台帖子加精管理、前台评论功能实现、Flask分页功能)
1、帖子详情展示前台蓝图文件:apps/front/views.py,创建帖子详情页的路由# -*- encoding: utf-8 -*-"""@File : views.py@Time : 2020/5/11 9:59@Author : chen前台蓝图文件:apps/front/views.py"""# 前台的蓝图文件 类视图函数写在这里from flask import ( Blueprint, render_template, views
2020-06-05 17:18:30
1069
原创 Flask项目实战——10—(前台板块页面搭建、文本编辑页面搭建、发布帖子信息前验证权限、帖子模型搭建、发布帖子功能、帖子信息渲染到前后台页面)
1、前台板块页面搭建视图文件查询数据传输到前台界面:前台蓝图文件:apps/front/views.py注意数据的收集方法和数据传输的类型。# -*- encoding: utf-8 -*-"""@File : views.py@Time : 2020/5/11 9:59@Author : chen前台蓝图文件:apps/front/views.py"""# 前台的蓝图文件 类视图函数写在这里from flask import Blueprint, render_tem
2020-06-01 23:15:51
638
原创 Flask项目实战——9—(前台轮播图展示、七牛云上传本地文件、板块管理、富文本编辑器)
1、前台轮播图展示根据权重查询banners数据并传输,渲染到首页界面:前台蓝图文件:apps/front/views.py# -*- encoding: utf-8 -*-"""@File : views.py@Time : 2020/5/11 9:59@Author : chen前台蓝图文件:apps/front/views.py"""# 前台的蓝图文件 类视图函数写在这里from flask import Blueprint, render_template, vi
2020-05-29 15:46:34
1393
原创 Flask项目实战——8—(首页渲染、首页模板继承、轮播图后台管理、轮播图删改、本地文件上传七牛云)
1、首页渲染绑定首页界面前台蓝图文件:apps/front/views.py# -*- encoding: utf-8 -*-"""@File : views.py@Time : 2020/5/11 9:59@Author : chen前台蓝图文件:apps/front/views.py"""# 前台的蓝图文件 类视图函数写在这里from flask import Blueprint, render_template, views, make_response, req
2020-05-28 10:32:01
3193
2
原创 Flask项目实战——7—(Redis数据库存储验证码信息、验证登录界面的表单信息、注册功能实现、登录实现)
推荐一个API平台:聚合数据1、Redis数据库存储验证码信息保存手机验证码到Redis数据库公有视图文件:apps/common/views.py# -*- encoding: utf-8 -*-"""@File : views.py@Time : 2020/5/11 9:59@Author : chen视图文件:apps/common/views.py"""# 导入手机验证码生成文件from utils.send_telephone_msg import send_
2020-05-26 20:44:59
3827
原创 Flask项目实战——6—(前台用户模型、前台登录注册、图形验证码、手机短信验证码、添加表单验证短信验证码请求)
1、前台用户模型前台用户模型定义创建前台模型文件 apps/front/models.py# -*- encoding: utf-8 -*-"""@File : models.py@Time : 2020/5/11 10:00@Author : chen前台模型文件 apps/front/models.py"""# 前台管理的模型from exts import db # 数据库连接import shortuuid
2020-05-23 16:56:40
6745
1
原创 Flask项目实战——5—(角色定义、用户权限、用户权限渲染到个人页面、客户端权限验证、服务端权限验证)
1、角色定义创建角色定义的函数,并添加到数据库中:命令行添加角色信息:manage.py# -*- encoding: utf-8 -*-"""@File : manage.py@Time : 2020/5/10 17:36@Author : chen"""from flask_script import Managerfrom bbs import app # 需要将当前文件夹设置为当前根目录,才不会报错from flask_migrate import Mi
2020-05-21 15:05:11
1293
Django项目.pdf
2020-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人