自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学无止境

读万卷书,行万里路。

  • 博客(25)
  • 收藏
  • 关注

原创 flask-socketio-使用linux命令将输出结果实时推送至前端

后端#!/usr/bin/env python# -*- coding: utf-8 -*-import shleximport subprocessfrom flask import Flaskfrom flask_socketio import SocketIOimport geventasync_mode = Noneapp = Flask(__name__)app.config['SECRET_KEY'] = 'secret!'socketio = SocketIO(app,

2021-06-19 18:44:42 979 1

原创 python 校验时间格式是否正确

根据业务需求而定!!!def is_valid_date(times): if isinstance(times, list): try: if len(times) == 1: if ":" in times[0]: datetime.strptime(times[0], "%Y-%m-%d %H:%M:%S") else:

2021-06-18 10:01:01 2167

原创 阿里云服务器部署django+vue项目

1.环境安装# python3.6版本https://blog.csdn.net/qq_42693848/article/details/88900553# mysql8.0版本https://blog.csdn.net/yzf279533105/article/details/105152525# redishttps://blog.csdn.net/Mikeoperfect/article/details/79468944# 虚拟环境https://blog.csdn.net/qq

2021-02-26 08:16:33 799 1

原创 Flask数据库基本操作

一. 增删改操作1. 基本概念在Flask-SQLAlchemy中,插入、修改、删除操作,均由数据库会话管理。会话用db.session表示。在准备把数据写入数据库前,要先将数据添加到会话中然后调用 commit() 方法提交会话。在Flask-SQLAlchemy中,查询操作是通过query对象操作数据。最基本的查询是返回表中所有数据,可以通过过滤器进行更精确的数据库查询。db.session.add(role) 添加到数据库的session中db.session.add_

2021-01-31 14:12:12 1873 1

原创 Flask中使用数据库

Flask-SQLAlchemy扩展SQLALchemy 实际上是对数据库的抽象,让开发者不用直接和 SQL 语句打交道,而是通过 Python 对象来操作数据库,在舍弃一些性能开销的同时,换来的是开发效率的较大提升SQLAlchemy是一个关系型数据库框架,它提供了高层的ORM和底层的原生数据库的操作。flask-sqlalchemy是一个简化了SQLAlchemy操作的flask扩展。安装 flask-sqlalchemy:pip install flask-sqlalchemy如果连接

2021-01-31 00:07:57 934

原创 Flask-WTF表单

Web表单web表单是web应用程序的基本功能。它是HTML页面中负责数据采集的部件。表单有三个部分组成:表单标签、表单域、表单按钮。表单允许用户输入数据,负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器。在Flask中,为了处理web表单,我们一般使用Flask-WTF扩展,它封装了WTForms,并且它有验证表单数据的功能WTForms支持的HTML标准字段WTForms常用验证函数使用Flask-WTF需要配置参数SECRET_KEY。CSRF_ENABLED是为了

2021-01-30 23:58:46 814

原创 Jinja2模板引擎

模板视图函数的主要作用是生成请求的响应,这是最简单的请求。实际上,视图函数有两个作用:处理业务逻辑和返回响应内容。在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本。本节学到的模板,它的作用即是承担视图函数的另一个作用,即返回响应内容。模板其实是一个包含响应文本的文件,其中用占位符(变量)表示动态部分,告诉模板引擎其具体的值需要从使用的数据中获取使用真实值替换变量,再返回最终得到的字符串,这个过程称为“渲染”Flask是使用 Jinja2 这个模板引擎来渲染模板使用模板的

2021-01-30 23:40:15 801 1

原创 Flask-安装

Flask 安装环境使用虚拟环境安装Flask,可以避免包的混乱和版本的冲突,虚拟环境是Python解释器的副本,在虚拟环境中你可以安装扩展包,为每个程序单独创建的虚拟环境,可以保证程序只能访问虚拟环境中的包。而不会影响系统中安装的全局Python解释器,从而保证全局解释器的整洁。虚拟环境使用virtualenv创建,可以查看系统是否安装了virtualenv:$ virtualenv --version安装虚拟环境$ sudo pip install virtualenv$ sudo pip

2021-01-30 23:29:13 1765

原创 Flask框架-介绍

Flask简介:Flask诞生于2010年,是用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login),都需要用第三方的扩展来实现。其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是Flask框架的核心。Python最出名的框架要数Django,此外还有Flask、Tornado等框架。虽然Flask不是最出名的框架

2021-01-30 23:20:21 4062

原创 django自带的用户系统

一、介绍基本上在任何网站上,都无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用户注册、用户登录、用户认证、注销、修改密码等功能。使用Django,我们可以不需要自己写这些功能,因为Django内置了强大的用户认证系统–auth,它默认使用 auth_user 表来存储用户数据。from django.contrib import auth # 使用auth认证系统from django.contrib.auth.models import User # auth认证系统默认使用Use

2021-01-25 17:40:37 1937 2

原创 git基础命令

git全流程服务器:Ubuntu使用git前准备工作:  下载git之前先更新:  apt-get update  安装git:   apt-get install git  创建本地仓库:  mkdir test  git初始化:    cd test  git init    生成公钥和私钥:  ssh-keyge  将公钥添加到github里。git的使用**分支操作:     克隆仓库:git clone       创建本地分支:git branch

2021-01-11 07:44:17 1149

原创 全文检索django-haystack+jieba+whoosh

全文检索里的组件简介1、什么是haystack?1. haystack是django的开源搜索框架,该框架支持Solr,Elasticsearch,Whoosh, Xapian搜索引擎,不用更改代码,直接切换引擎,减少代码量。2. 搜索引擎使用Whoosh,这是一个由纯Python实现的全文搜索引擎,没有二进制文件等,比较小巧,配置比较简单,当然性能自然略低。3. 中文分词Jieba,由于Whoosh自带的是英文分词,对中文的分词支持不是太好,故用jieba替换whoosh的分词组件。2、什么是j

2021-01-04 15:03:06 1308

原创 django中使用原生sql语句

raw# row方法:(掺杂着原生sql和orm来执行的操作)res = CookBook.objects.raw('select id as nid from epos_cookbook where id>%s', params=[1, ])print(res.columns) # ['nid']print(type(res)) # <class 'django.db.models.query.RawQuerySet'># 在select里面查询到的数据orm里面的要

2021-01-04 14:51:48 1623

原创 生成微博授权URL和回调地址以及绑定三方登录用户

1. 获取微博url接口视图函数: oauth/views.pyfrom rest_framework.permissions import AllowAnyfrom rest_framework.response import Responsefrom rest_framework.views import APIViewfrom urllib.parse import urlencodefrom rest_framework_jwt.settings import api_settings

2020-12-27 21:10:39 2290 7

原创 微博第三方登录流程

111前端获取认证code在Vue页面加载时 动态发送请求获取微博授权urldjango收到请求的url后,通过微博 应用ID(client_id)和回调地址(redirect_uri) 动态 生成授 权url返回给Vue当用户点击上面的url进行扫码,授权成功会 跳转我们的回调界面并附加code参数Vue获取到微博返回的code后,会 将code发送给django后端 (上面的redirect_uri)1.2 获取微博access_token 后端获取code后,结合client_id、c

2020-12-27 20:56:49 3394

原创 Django-Celery-Redis异步发短信

首先因为异步版本问题要统一,否则会运行不起来,不兼容!python == 3.7.6django == 2.1.8celery == 4.4.7redis == 3.5.3eventlet == 0.26.1什么是celeryCelery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点

2020-12-25 20:46:19 1694 1

原创 JWT使用

1.下载pip install djangorestframework-jwt2.在settings.py中配置# 1、在INSTALLED_APPS中加入'rest_framework.authtoken' 'rest_framework.authtoken'# # 2、配置jwt验证REST_FRAMEWORK = { # 身份认证 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authent

2020-12-21 23:00:39 1786

原创 JWT介绍

JWT介绍JWT长什么样?JWT是由三段信息构成的,将这三段信息文本用.链接一起就构成了Jwt字符串。就像这样:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQJWT的构成第一部分我们称它为头部(header),第二部分我们称其为载荷(payload

2020-12-21 22:40:53 1917 1

原创 vue组件间通信

父组件页面<template> <div> <p>我是父组件</p> 图书名:<input type="text" v-model="name"> 价格:<input type="text" v-model="price"> 所属分类: <select v-model="classify"> <o

2020-12-19 22:12:14 1637 1

原创 axios封装

在src中创建一个文件夹,文件夹中创建http.js文件和api.js文件将以下内容粘到 http.jsimport axios from 'axios'axios.defaults.baseURL = "http://127.0.0.1:8000/"// axios.defaults.baseURL = "http://172.16.240.175/:8000/"//全局设置网络超时axios.defaults.timeout = 10000;//设置请求头信息axios.defa

2020-12-19 22:09:35 1763 1

原创 ORM查询

基本查询:book = BookInfo.objects.get(btitle='⻄游记')       #单⼀查询,如果结果不存在报错book = BookInfo.objects.all()     #查询多个结果,有多少返回多少,不存在返回Nonebook = BookInfo.objects.filter(btitle='⻄游记').count()  #查询结果的数量book = BookInfo.objects.exclude(btitle='⻄游记')    #查询结果取反模糊.

2020-12-17 21:08:44 2124

原创 RESTful设计风格

Django-DRF框架一、RESTfull设计风格1、什么是RESTfull?1)REST:即Representational State Transfer的缩写。维基百科称其为“具象状态传输”,国内大部分人理解为“表现层状态转化”。2)具象的:就是指表现层,要表现的对象也就是“资源”,什么是资源呢?网站就是资源共享的东西,客户端(浏览器)访问web服务器,所获取的就叫资源。比如html,txt,json,图片,视频等等。3)表现:比如,文本可以用txt格式表现,也可以用HTML格式、XML格式

2020-12-17 14:54:21 5707 1

原创 继承ModelViewSet-增删改查分页过滤

** ViewSetMixin累源码分析我们主要是来看下为什么通过url配置和ModelViewSet几行代码,就能实现request的restful协议请求ModelViewSet类继承关系比较复杂,我先抛出一张简陋的父子关系继承图**Serializers.pyfrom rest_framework import serializersfrom demoapp import models as dm1modelclass UserSer(serializers.Mod

2020-12-17 14:33:53 2486 1

原创 ORM正向和反向查询

表结构from django.db import modelsCreate your models here.class Publisher(models.Model):id = models.AutoField(primary_key=True)name = models.CharField(max_length=32)class Book(models.Model):id = models.AutoField(primary_key=True)name = models.CharFiel

2020-12-16 17:09:30 4148 7

原创 Django框架中序列化和反序列化

1.序列化DRF的核心 就是 前后端分离的核心前后端分离开发的核心:将模型转换为json 称之为 序列化将json转换为模型 称之为 反序列化1.序列化器的字段Serializer 序列化器为了得到模型里的字段,序列化器中的字段应与模型类中的字段名一致 ''' serializers.py ''' class BookInfoSerializer(serializers.Serializer): # read_only=True 只能读 不...

2020-12-16 15:36:43 2860

空空如也

空空如也

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

TA关注的人

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