- 博客(79)
- 收藏
- 关注
原创 django与vue交互的错误问题
在vue与django传递数据中出现了一个问题。当django向vue传递数据后,vue接受数据,值已发生改变。但是前端页面并不会显示数据而且模板语法({{ }})失效,无法观察到对应变化。
2023-05-22 18:34:03 203
原创 ubuntu对mysql数据进行备份并进行同步操作
mysql_data.sh#!/usr/bin/expect# 相应时间300000set timeout 300000# 可传入的参数set dest_file [lindex $argv 0]# 判断条件spawn scp $dest_file erpstd@192.168.1.35:/home/dataexpect { "(yes/no)?" { send "yes\n" expect "password:" send "admin\n" } "p
2021-01-23 14:52:47 181
原创 通过uwsgi与nginx上线项(django,flask,drf)
首先uwsgi应该创建在项目文件下它的格式应为xxx.xml然后在xxx.xml写入项目配置<uwsgi> <socket>127.0.0.1:8808</socket> <!-- 内部端口,自定义 --> <chdir>file</chdir> <!-- 项目路径 --> <module>luffyapi.wsgi</module> <
2020-12-04 16:14:41 369
原创 django的auth加密解密的过程
Django 内置的User类提供了用户密码的存储、验证、修改等功能,默认使用pbkdf2_sha256方式来存储和管理用的密码。django通过setting.py文件中的PASSWORD_HASHERS来设置选择要使用的算法,列表的第一个元素 (即settings.PASSWORD_HASHERS[0]) 会用于储存密码, 所有其它元素都是用于验证的哈希值,它们可以用于检查现有的密码。意思是如果你打算使用不同的算法,你需要修改PASSWORD_HASHERS,来将你最喜欢的算法在列表中放在首位。
2020-12-01 09:39:32 878 1
原创 odoo的学习步骤五:inhert与xpath
model:# -*- coding: utf-8 -*-from odoo import models, fields, apiclass test(models.Model): _name = 'test.test' name = fields.Char(string='名字') sex = fields.Char(string='性别') age = fields.Char(string='年龄') hobby_id = fields.Many2on
2020-11-30 09:48:39 370
原创 odoo的学习步骤四:外键及其展示 + compute运用
model# -*- coding: utf-8 -*-from odoo import models, fields, apiclass test(models.Model): _name = 'test.test' name = fields.Char(string='名字') sex = fields.Char(string='性别') age = fields.Char(string='年龄') hobby_id = fields.Many2one
2020-11-28 16:49:32 531
原创 odoo的学习步骤三:搜索过滤展示
直接上代码如果没有出现筛选记得点击搜索栏右边的放大镜!model# -*- coding: utf-8 -*-from odoo import models, fields, apiclass test(models.Model): _name = 'test.test' name = fields.Char(string='名字') sex = fields.Char(string='性别') age = fields.Char(string='年龄')
2020-11-28 16:25:04 465
原创 odoo的学习步骤二:进阶展示数据
直接上代码这里面直接在页面进行数据创建就好了。当你成功创建数据后会在页面上展示!list是第一层列表展示form是第二层form表单展示model# -*- coding: utf-8 -*-from odoo import models, fields, apiclass test(models.Model): _name = 'test.test' name = fields.Char(string='名字') sex = fields.Char(string
2020-11-28 16:13:51 461
原创 odoo的学习步骤一:创建模块与基础展示数据
第一步:调用系统命令自动创建模块Terminal: odoo-bin scaffold (模块名) (存放地址)第二步开始写代码model:# -*- coding: utf-8 -*-from odoo import models, fields, apiclass test(models.Model): _name = 'test.test' name = fields.Char(string='名字') sex = fields.Char(string='
2020-11-28 15:50:39 400
原创 odoo10开发(学习中)
model在odoo中model类似于django的视图层(model)但是不同的点在于odoo的model不仅可以定义模型,还可以在里面直接执行对应的方法!!!!!!!from odoo import models, fields, apiclass hobby(models.Model): _name = 'test1.hobby' _description = u'爱好' name = fields.Char(string=u'爱好') test1_ids =
2020-11-24 13:00:10 342 1
原创 base64 的加密和解密
# coding=utf-8 #如果报Non-ASCII character '\xe6' in file /odoo/123.py on line 5, but no encoding declared类似的这个错加入这行就解决了import base64# 加密def encryption(str): # 想将字符串转编码成base64,要先将字符串转换成二进制数据 bytes_url = str.encode("utf-8") str_url = base64.b64e
2020-11-24 10:04:27 393
原创 sqlachemy
原生sqlimport timeimport threadingimport sqlalchemyfrom sqlalchemy import create_enginefrom sqlalchemy.engine.base import Engine# 第一步生成一个engine对象engine = create_engine( "mysql+pymysql://username:password@127.0.0.1:3306/flask?charset=utf8", ma
2020-09-22 19:45:30 427
原创 flask
flask基础框架from flask import Flask#注册flask框架app=Flask(__name__)#注册路由@app.route('/')def index(): return 'hello world'#跟django不同的点在于需要一个入口去运行if __name__=='__main__' app.run()flask的具体内容三板斧return 'xxx' #返回字符串return render_template('xxx.html') #加载数
2020-09-22 19:30:27 184
原创 数据库优化
1.字段优化为其设置合适的属性,例如设置的大小选择一定的范围内,而不是写2562.特点情况下使用join代替子查询可以增加查询速度3.使用union来代替手动创建的临时表每次查询会话结束会自动删除表4.使用事务保证一些数据的安全性5.锁定表6.使用外键能建外键的绝对不使用多个数据库7.使用索引尽量以不重复的字段作为索引8.优化查询语句能使用sql查询方法的例如like绝对不使用广查询...
2020-09-07 20:31:25 148
原创 爬虫(requests)相关
requests使用requests的前提是已经安装模块pip install requests发送请求res=requests.get('url', #这里存放url地址(必填) headers=headers, # 这里存放一些请求头 params=params, # 这里存放参数(使用这个的原因为:它会自动将参数转换为对应的格式 proxies={'http':'代理地址和端口'}, #代理ip timeout=0.0001, #超时设置 files=files #上传文件
2020-08-04 18:08:19 143
原创 2.上线
购买服务器# 购买阿里云服务器# 短期或是测试使用,创建 按量收费 服务器,可以随时删除,删除后不再计费,但要保证账户余额100元以上连接服务器1)账号>: ssh root@39.99.192.1272)密码>: ********服务器命令管理员权限1)以下所有的服务器命令均可以在管理员权限下执行>: sudo 命令配置终端1)编辑配置文件>: vim ~/.bash_profile2)将原来内容全部删除掉>: ggdG3)进入编
2020-08-04 15:59:00 229
原创 celery
celery架构图celery原理按我的理解来说就是,broker是一个提交任务的人worker是一个完成任务的人但是结果还不知道给谁,那么我就先存储到backends里面。因为这是一个异步的框架!所以,在worker中会同时执行多个任务!celery的使用安装pip install celery设置对象app=Celery(‘任务名’, broker=’这里为任务存储的地址’, backend=’这里为任务结果存储的地址’)例:backend=‘redis://:123
2020-07-29 15:05:17 190 1
原创 redis
redis的使用和一些简单的方法import redisfrom redis_pool import Pool# 因为redis的池子必须是单线程,所以应该使用模块导入,这里为了方便就写在这了Pool=redis.ConnectionPool(host='127.0.0.1',port=6379,max_connections=2**31)# 连接上redisconn=redis.Redis(connection_pool=Pool)#######字符串######### * conn.se
2020-07-24 20:14:55 159
原创 git的使用
git的使用-git总体分为三个区:工作区,暂存区,版本库 工作区:代表正在修改或者编写的地方,通过git status为红色 暂存区:代表准备提交的地方,通过git status为绿色 版本库:这是提交后无法修改的地方,不能通过git status查询-git init # 在未管理的地方生成一个.git 的文件夹-git stauts # 查看状态(红色和绿色),必须全绿再提交到版本库-git add . # 提交到暂存区-git commit -m '注释' # 从暂存区提交到版
2020-07-23 19:54:36 135
原创 JWT
jwt=Json Web token#原理“”"1)jwt分三段式:头.体.签名 (head.payload.sgin)2)头和体是可逆加密,让服务器可以反解出user对象;签名是不可逆加密,保证整个token的安全性的3)头体签名三部分,都是采用json格式的字符串,进行加密,可逆加密一般采用base64算法,不可逆加密一般采用hash(md5)算法4)头中的内容是基本信息:公司信息、项目组信息、token采用的加密方式信息{“company”: “公司信息”,…}5)体中的内容是关
2020-07-15 19:53:09 1161
原创 drf分页器与生成接口文档
分页器在drf中有三种分页器,分别是PageNumberPagination,LimitOffsetPagination,CursorPaginationPageNumberPagination分页器class MyPageNumberPagination(PageNumberPagination): page_size=3 #每页条数 page_query_param='aaa' #查询第几页的key page_size_query_param='size' # 每一页显示
2020-07-15 19:27:30 217
原创 增删改查的更深理解
viewsfrom rest_framework.response import Responsefrom api import modelsfrom rest_framework.views import APIViewfrom rest_framework.generics import GenericAPIViewfrom api.ser import BookModelSerializerclass BookAPIView(APIView): def get(self,re
2020-07-15 18:58:47 315
原创 drf的路由和各种自定义
drf的路由请看这篇博客:https://zhuanlan.zhihu.com/p/83096958这篇大佬的博客写的很详细,很容易看懂drf的登录验证使用方法局部使用:在对应的类下写入以下这段话:authentication_classes = [登录验证路由1,…… ]例:class Login_session(APIView): authentication_classes = [auth_required] def get(self, request):局部禁
2020-07-09 20:04:48 828
原创 drf 5种视图的运用
from rest_framework.views import APIViewclass bookView(APIView): def get(self,request,pk): dic = {'code':100,'msg':'成功'} book = models.Books.objects.all() ser = serializers.BookeSerializer(instance=book,many=True) dic['
2020-07-08 16:14:47 212
原创 drf 两种序列化的增删改查
serializers.ModelSerializerserializers: (在这里可以自定义一些钩子,还有为序列化字段定义)class bookModelSerializers(serializers.ModelSerializer): class Meta(): #在serializers.ModelSerializer特有 model = models.Books # 左为序列化地址 右为模型 fields = '__all__' # '__all_
2020-07-07 17:22:15 651
转载 DRF的Serializer和ModelSerializer的区别
https://www.cnblogs.com/yaya625202/articles/11080644.html
2020-07-07 11:26:03 520
原创 drf
drf 全称 Django REST framework 属于前后端分离的一种,与django最大的区别也在于此!!前后端分离前后端不分离RESTful APIdrf编写的规范是以restful API为基础构造的,按我的理解来说就是只要满足restfulAPI的第五条也就是不同的请求方式代表不同的方法,那么此程序就是属于符合restfulAPI规范的!具体的规范为数据的安全保障简单来说就是采用https协议来传输数据接口特征表现如果该接口为前后端交互的或者资源互换的应该用api关键字
2020-07-06 18:55:46 294 1
原创 Vue的基本使用
1.Vue的安装跟jQuery一样,只要导入相应的js文件就可以正常使用了,这里推荐2.0+的文件2.Vue的基本使用<div id='d1'> #调用data里的数据方式(就是模板语法),前提是你的el设置了正确的范围 {{ name }} {{ age }}</div><script> #调用Vue必须创建一个固定的类 var vm = new Vue(): #设置Vue可以操作的范围,一般都是id选择器 el:"#d1"
2020-06-16 16:03:58 145
原创 调用数据库迁移命令中自带的auth_user
操作表要调用此表需先导入二个方法from django.contrib import authfrom django.contrib.auth.models import User登录auth.authenticate(request,username=username,password=password)注:必须同时传入用户名与密码注:此密码为密文格式此命令拥有两个返回值1.返回对象在对象中可以查看对应信息(按数据库里的输出)2.返回none保存状态auth.login(requ
2020-06-09 16:46:15 661
原创 csrf跨站请求
前提:在之前的访问浏览器,我们都是将setting里的中间件中的csrf给注释掉,不然会无法访问网页csrf的作用csrf跨站请求伪造校验网站在给用户返回一个具有提交数据功能页面的时候会给这个页面加一个唯一标识当这个页面朝后端发送post请求的时候 我的后端会先校验唯一标识,如果唯一标识不对直接拒绝如何使用csrf只要在form表单下加入模板语法{% csrf_token %}就可以了除了form,我们还有个ajax提交方式。在ajax中有三种方式,书写难度从大到小!// 第一种 利用标签
2020-06-08 15:47:32 143
原创 django中间件
django中间件的介绍django中间件是django的门户1.请求来的时候需要先经过中间件才能到达真正的django后端2.响应走的时候最后也需要经过中间件才能发送出去django自带七个中间件MIDDLEWARE = [‘django.middleware.security.SecurityMiddleware’,‘django.contrib.sessions.middleware.SessionMiddleware’,‘django.middleware.common.Common
2020-06-08 15:32:48 116
原创 最近出现的错误的解决方案(一)
登录后全网页显示登录信息只要在主界面直接使用模板语法就好了(通常使用session或者cookie来保存)img无法显示图片路径中只能存放相对路径和url地址。在使用相对路径时还要查看路径是否导入。我错误的地方的解决方案是...
2020-06-05 17:51:26 474
原创 form组件
forms组件的功能1.渲染html代码2.校验数据3.展示提示信息基本使用后端from django import formsclass MyForm(forms.Form): # username字符串类型最小3位最大8位 username = forms.CharField(min_length=3,max_length=8,label='用户名', error_messages={
2020-06-04 15:41:48 202
原创 Ajax
Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。总结为:异步提交局部刷新注:使用Ajax的前提为导入了jQueryAjax的基本用法$.ajax(指定朝哪个后端发送ajax请求url
2020-06-02 14:18:50 165
原创 视图层
视图层三板斧“”"HttpResponse返回字符串类型render返回html页面 并且在返回给浏览器之前还可以给html文件传值redirect重定向“”"JsonResponse对象return JsonResponse(user_dict,json_dumps_params={'ensure_ascii':False})# return JsonResponse(l,safe=False) # 默认只能序列化字典 序列化其他需要加safe参数 form表单上传文件"
2020-05-30 10:16:18 580
原创 模型层
模型层单表操作# django自带的sqlite3数据库对日期格式不是很敏感 处理的时候容易出错# 增 # res = models.User.objects.create(name='jason',age=18,register_time='2002-1-21') # print(res) # import datetime # ctime = datetime.datetime.now() # user_obj = models.User(name
2020-05-30 10:15:49 346
原创 路由层
路由层(urls)在这层最常见的是url(r’’,views.xxx)之类的视图层链接地址或者称为浏览器的访问地址!在这括号里面,有两个参数。url方法第一个参数是正则表达式只要第一个参数正则表达式能够匹配到内容 那么就会立刻停止往下匹配直接执行对应的视图函数因此当你在里面输入text与textadd时你会发现它的显示结果为text的结果。这显然是不可以的!所以当你确定一个静态的路由地址后可以采取url(r'^test/$',views.test), url(r'^testadd/$',vie
2020-05-26 17:14:50 421
原创 django的request与pycharm下的mysql
request方法在django中request是一个参数,通常用来取从网页中获取的值。request.method #返回请求方式(都是大写字母)request.POST #获取用户POST请求的数据 request.POST.get() #获取列表中最后一个元素 request.POST.getlist() #获取列表requset.GET #获取用户GET请求的数据 request.GET.get() #获取列表中最后一个值 request.GET.getlist() #获取列表注
2020-05-25 17:53:28 199
原创 django
如何让你的计算机能够正常的启动django项目1.计算机的名称不能有中文2.一个pycharm窗口只开一个项目3.项目里面所有的文件也尽量不要出现中文4.python解释器尽量使用3.4~3.6之间的版本(如果你的项目报错 你点击最后一个报错信息去源码中把逗号删掉)django安装pip3 install django==1.11.11如果已经安装了其他版本 无需自己卸载直接重新装 会自动卸载安装新的如果报错 看看是不是timeout 如果是 那么只是网速波动重新安装即可验证
2020-05-25 17:31:20 258
原创 基础web框架以及后面的小优化
纯手撸web框架import socketserver = socket.socket() # TCP 三次握手四次挥手 osi七层server.bind(('127.0.0.1',8080)) # IP协议 以太网协议 arp协议...server.listen(5) # 池 ...while True: conn, addr = server.accept() data = conn.recv(1024) # print(data) # 二进制数据
2020-05-25 14:27:56 191
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人