自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(195)
  • 资源 (6)
  • 收藏
  • 关注

原创 django学习——用户注册时的密码加密及登陆时的密码验证问题

我们在注册网站时输入的密码并不会明文存储在数据库中,而是经过加密了的,在Django中默认的加密算法是哈希算法(hashlib)。1、注册时加密将用户输入的密码写入数据库中时,经过如下处理:from django.contrib.auth.hashers import make_password...user.password = make_password(password) # 明文密码经过

2018-01-04 10:14:00 11386 2

原创 django学习——用户注册时如何实现验证码图片

在用户登录或注册等很多场景需要使用验证码图片。在github上有很多开源的项目,本文就其中一种进行举例。github中的项目:django-simple-captcha效果如下:为四个大写字母组成安装条件: django 1.8+ , 支持 python 31、安装:pip install django-simple-captcha2、将captcha 添加到setting.py中的INSTAL

2018-01-03 17:54:43 1166

原创 django学习——通过邮箱实现用户名的登录

在前面,我们讲过通过authenticate()与login()方法进行登录,方法如下:from django.views import Viewfrom django.contrib.auth import authenticate, loginclass LoginView(View): def post(self, request): username = reque

2018-01-03 14:28:22 3159 1

转载 django学习——Django中authenticate和login模块

Django 提供内置的视图(view)函数用于处理登录和退出,Django提供两个函数来执行django.contrib.auth中的动作 : authenticate()和login()。认证给出的用户名和密码,使用 authenticate() 函数。它接受两个参数,用户名 username 和 密码 password ,并在密码对给出的用户名合法的情况下返回一个 User 对象。 如果密码不

2018-01-03 12:38:12 5465

转载 django学习——Django下MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL解惑

Django中settings中的四个设置参数的一些故事:MEDIA_ROOT, MEDIA_URL, STATIC_ROOT, STATIC_URL1、MEDIA_ROOT与MEDIA_URL事实上MEDIA_ROOT和MEDIA_URL代表的是用户上传后的文件一般保存的地方。我的理解是,可变文件的文件夹。与这两个参数有联系的,是在Django的FileField和ImageField这样的Mod

2018-01-03 10:07:32 10194 1

原创 django学习——STATIC_URL与STATICFILES_DIRS

Django中,静态资源的存放通过设置 STATIC_URL, STATICFILES_DIRS 来设置,一般STATIC_URL设置为:/static/STATIC_URL=’/static/’, 这个static 是在Django 具体APP下建立的static目录,用来存放静态资源。而STATICFILES_DIRS一般用来设置通用的静态资源,对应的目录不放在APP下,而是放在Project下

2018-01-02 22:18:28 6103

原创 django学习——models中常用的字段类型

1、CharField用来存储从小到很大各种长度的字符串的地方,必须接收一个参数max_length=xx 用来限定字符串的最大长度。例如:name = models.CharField(max_length=20, verbose_name='姓名', default='')2、choice它是一个可迭代的结构(比如,列表或是元组),由可迭代的二元组组成(比如[(A, B), (A, B) …])

2018-01-02 16:39:19 3089

原创 django学习——os.path与sys.path

django中的setting.py文件中有一些路径的问题,主要为os.path与sys.path.1、os.pathos.path.abspath(__file__)为获取当前文件的绝对路径 os.path.dirname()为获取当前路径上一级的路径所以:BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

2018-01-02 13:19:55 4499

原创 django学习——1.11版本中template出现warnning

出现如下警告:WARNINGS:?: (1_8.W001) The standalone TEMPLATE_* settings were deprecated in Django 1.8 and the TEMPLATES dictionary takes precedence. You must put the values of the following settings into you

2018-01-02 11:50:13 1276

原创 python学习——leetcode第五题 Longest Palindromic Substring

题目: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example:Input: "babad"Output: "bab"Note: "aba" is also a valid answer.Example:In

2017-12-29 15:05:44 686

原创 python学习——divmod()方法

divmod(a,b)方法返回的是a//b(除法取整)以及a/b(取余),返回结果类型为tuple,参数:a,b可以为数字(包括复数)>>> divmod(9,2)(4, 1)>>> divmod(11,3)(3, 2)>>> divmod(1+2j,1+0.5j)((1+0j), 1.5j)

2017-12-28 11:40:42 3948 1

原创 Python学习——正则表达式

导入正则表达式模块:import re1、re.matchre.match是从字符串开头开始匹配的,匹配成功的话可以通过group()方法进行展示出来:import reline = 'abc123abc'rest = r'.*(\d{3}).*' #正则表达式内容result = re.match(rest, line)print(result.group(

2017-12-18 16:40:58 413

原创 爬虫学习——Scrapy安装报错Microsoft Visual C++ 14.0 is required

windows 环境在通过pip install scrapy安装scrapy时,出现如下错误命令:building 'twisted.test.raiser' extension error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landi

2017-12-17 20:51:53 916

原创 数据库——MySQL设置环境变量

安装完MySQL数据库后,要想直接从cmd命令提示框中直接运行,需要设置下环境变量。设置方法同python中的一样:右键计算机->高级系统设置->高级->环境变量->选中系统变量中的“path”,在path值最后添加上mysql.exe安装位置即可。以本机为例:C:\Program Files\MySQL\MySQL Server 5.7\bin保存即可。在cmd命令提示框中输入:mysql -u

2017-12-15 22:14:17 3348

原创 python学习——通过virtualenv中安装不同版本的Python

1、linux下安装一般linux系统默认安装有Python,可以通过以下目录查看下安装的都有些版本:/usr/bin本人ubuntu系统,默认安装有Python2.7 和 Python3.5。安装Python2.7版本的虚拟环境 env-py2:virtualenv env-py2安装Python3.5版本的虚拟环境env-py3:virtualenv -...

2017-12-09 21:13:39 17461

转载 python学习——魔法方法详解

据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切。他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个,那么这个方法就会在特殊的情况下被 Python 所调用,你可以定义自己想要的行为,而这一切都是自动发生的。Python 的魔术方法非常强大,然而随之而来的则是责任。了解正确的方法去使用非常重要!魔法方法

2017-11-30 20:05:55 460

原创 python学习——super()方法实现类的继承

在一个基类的基础上新建一个子类时,采用继承的方法可以得到基类(父类)的特性,此时采用super()方法可以实现基类的继承:class People(object): def __init__(self, name, age): self.name = name self.age = age def change_age(self, newage):

2017-11-30 15:23:09 655

原创 Python学习——str.replace()方法与re.sub()方法对比

这两种方法都可以对字符串字符串进行替换,但是各有不同,下面就通过不同的例子进行说明:1、str.replace()方法str.replace()方法可以将一个指定的字符格式替换成另一种字符:s = '123:456:789's.replace(':', '-')得到结果:'123-456-789'2、re.sub()方法上述例子同样可以用re.sub()方法进行处理:s = '123:456:78

2017-11-30 09:04:15 32471

原创 python学习——format方法总结

format方法在python2.6 之后引入,替代了原先的%,显得更加优雅,具体的使用方式见下面的例子: 1 #通过位置 2 print '{0},{1}'.format('chuhao',20) 3 4 print '{},{}'.format('chuhao',20) 5 6 print '{1},{0},{1}'.format('chuhao',20) 7 8 #通过关键

2017-11-29 21:38:20 1432

原创 python学习——采用“+”和“join”两种方法合并字符串

将一些小的字符串合并成一个大的字符串,有两总方法:1、“+”很简单的方法,例如:l = ['a', 'b', 'c', 'd', 'e']s = ''for x in l: s += xprint(s)得到结果:'abcde'但是采用这种方法,如果列表长度很大的话,会占用而外的内存,每一次循环都会得到新的s:aababcabcdabcde2、采用‘join’方法:l = ['a

2017-11-29 21:14:41 8305

原创 python学习——可迭代对象与迭代器对象及创建迭代器的三种方式

python 可迭代对象——IterablePython中经常使用for来对某个对象进行遍历,此时被遍历的这个对象就是可迭代对象,像常见的list、tuple、dict、set、str都是。如果给一个准确的定义的话,就是只要它定义了可以返回一个迭代器的__iter__方法,或者定义了可以支持下标索引的__getitem__方法,那么它就是一个可迭代对象。python 迭代器对象——Iterator

2017-11-29 09:59:06 1930

原创 python学习——Counter计数方法

1、统计一个序列中元素的次数:from collections import Countera = [10, 8, 6, 7, 2, 8, 4, 10, 3, 7, 8, 4, 5, 7, 2, 2, 3, 8, 8, 9, 6, 2, 2, 7, 8, 7, 4, 8, 5, 2]b = Counter(a)print(b)得到结果:Counter({8: 7, 2: 6, 7: 5, 4: 3

2017-11-26 17:43:17 5548

原创 python学习——采用sorted方法对字典的键、值进行排序

通过sorted方法可以对字典的键或者值进行排序。1、问题的提出已知某随机数列中[1,3,4,6,3,3,4,6,8,4...],想要统计出现频率最高的三个数字以及出现的次数。2、生成随机数列通过列表解析生成一个随机数列,随机数生成采用random模块中的randint方法。import randomdata = [random.randint(1,10) for i in range(30)]p

2017-11-26 17:03:04 1782

原创 python学习——namedtuple方法

namedtuple是继承自tuple的子类,namedtuple创建一个和tuple类似的对象,而且对象拥有可访问的属性。在对元组中的元素进行访问时,为了更明白的表示出该元素的类别,可以通过namedtuple该元组进行重新定义。例如:from collections import namedtuple#定义了一个元组,包括姓名、年龄、性别、邮箱student = ('jack', 18, 'm

2017-11-26 15:23:26 516

原创 python学习——random模块

random模块常用函数:1、random.random(),表示从0-1之间的随机小数:import randoma = random.random()print(a)得到结果:'0.1257634562'2、random.randint(a, b),表示a<= x <= b的一个整数:import randoma = random.ra...

2017-11-25 23:10:03 899

原创 django学习——如何配置404、500页面

1、建立404、500html页面2、配置setting.py文件DEBUG =True的话,为开发环境,显示不了404页面。DEBUG = FalseALLOWED_HOSTS = ['*']3、编写视图函数view.pyfrom django.shortcut import render_to_responsedef page_not_found(request): """ 4

2017-11-17 15:57:08 1394

原创 django学习——发送邮件send_mail

一、配置在setting.py中进行相关配置:EMAIL_HOST = 'smtp.sina.cn' #SMTP地址EMAIL_PORT = 25 #SMTP端口EMAIL_HOST_USER = 'xxxxxxxxxxx@sina.cn' #我自己的邮箱EMAIL_HOST_PASSWORD =

2017-11-17 15:34:18 9372

原创 django学习——objects.filter()用法

条件选取querySet的时候,filter表示=,exclude表示!=。 querySet.distinct() 去重复__exact 精确等于 like ‘aaa’ __iexact 精确等于 忽略大小写 ilike ‘aaa’ __contains 包含 like ‘%aaa%’ __icontains 包含 忽略大小写 ilike ‘%aaa%’,但是对于sqlite来说,conta

2017-11-16 11:21:21 55507

原创 python学习——如何查看安装包的版本

方法一:pip list 简单,粗暴,展示所有。运行cmd,打开命令提示框,直接输入pip list 回车,即可将所有的安装包,包括版本展示出来。如下:方法二:进入Python交互模式运行cmd,打开命令提示框,直接输入python 回车,进入python交互模式。以django为例,import django,然后,django.VERSION即可。注意要大写,如下:当然,如果要查看某个虚拟环境中

2017-11-16 10:00:04 144936 3

原创 django学习——采用forloop对模板中的数据进行排序

视图函数中获取数据库中的内容,传递到Template中,采用for循环进行展示时,有时需要对数据进行排序,此时,可以采用forloop函数:{% for user in all_users %}span class="">{{ forloop.counter }}</span>...{% endfor %}便可以将名次依次展示:123...forloop的一些常见用法:1、forloop

2017-11-14 11:31:15 1935

原创 django学习——判断用户是否登录的两种方式

在视图函数中,有些操作是需要用户在登录前提下才能进行的。方法一: 采用request方法来得到用户是否登录信息:if request.user.is_authenticated(): ...else: return render(requeset, 'login.html')方法二: 在试图函数中继承一个基础类,可以判断用户是否登录。在utils.py中定义一个基础类:from

2017-11-14 10:28:58 15271 2

原创 django学习——采用Q()方法进行查询

在django中对数据库中的内容进行查询时,有时需要包含多个查询条件,此时采用Q()方法就很方便了。Q对象(django.db.models.Q)可以对关键字参数进行封装,从而更好地应用多个查询。可以组合使用 &(and),|(or),~(not)操作符,当一个操作符是用于两个Q的对象,它产生一个新的Q对象。Order.objects.get( Q(desc__startswith='Who

2017-11-13 15:40:20 3573

原创 django学习——Model模型中多对多外键如何查询

在学习django时,首先需要设计的就是模型,模型包括一对多及多对多关系,这里以Course与User两个模型为例来解释下多对多关系,以及查询方式。首先建立模型:class Course(models.Model): name = models.CharField(max_length=20, verbose_name='课程名称') desc = models.TextField(

2017-11-13 11:40:21 2297 1

原创 python学习——Python中生成一个指定长度的随机字符串

方法一:定义一个函数,参数为所要生成随机字符串的长度。通过random.randint(a, b)方法得到随机数字,具体函数如下:def generate_random_str(randomlength=16): """ 生成一个指定长度的随机字符串 """ random_str = '' base_str = 'ABCDEFGHIGKLMNOPQR...

2017-11-10 11:12:23 33914

原创 django学习——model.py中重写user模型

django中有一个默认的user表单,很多情况下是不满足需要的,需要对其进行扩展,方法如下:model.py中:新的用户模型继承自AbstractUser,并添加自定义的属性from django.contrib.auth.models import AbstractUserclass UserProfile(AbstractUser): """ 自定义用户表单 """

2017-11-08 08:05:26 1229

原创 django学习——django中三种配置url的方法

在django中的urls.py中配置url时,注释中有三种方法:The `urlpatterns` list routes URLs to views. For more information please see: https://docs.djangoproject.com/en/1.11/topics/http/urls/Examples:Function views

2017-11-07 16:35:05 6886

原创 django学习——模板中判断相等与否的两种用法ifequal与if

在模板中,也就是html中,经常会遇到判断两个变量是否相等,此时有两种用法:方法一:ifequal语句{% ifequal sort 'hot' %}active{% endifequal %}判断后端传来的sort变量与字符串‘hot’是否相等.方法二:if语句{% if sort == 'hot' %}active{% endif %}很简单直观的if语句。当然,判断不相等的话,可以用ifnot

2017-10-28 23:31:45 9477

原创 django学习——用django-pure-pagination进行分页

源代码:https://github.com/jamespacileo/django-pure-pagination1、安装pip install django-pure-pagination2、设置 在setting.py中设置:INSTALLED_APPS = ( ... 'pure_pagination',)PAGINATION_SETTI

2017-10-25 23:40:33 1283

原创 django学习——问题NameError: name 'get_response' is not defined

在django中debug的时候,不知道按错哪个键了,之前还好好的,然后就出这个问题了,也不知道哪里出错了,解决办法其实很简单:卸载django:pip uninstall django在重新安装django:pip install django继续运行之前没问题的程序即可。

2017-10-22 23:14:36 4301

原创 django学习——python 3.6下实现xadmin

本人在virtualenv中进行django(1.11版本)学习,在安装xadmin中出现各种问题,安装总结如下。1、xadmin的安装直接采用 pip install xadmin会报错,安装办法:从官网https://github.com/sshwsfc/xadmin下载xadmin ,解压后,将xadmin文件夹拷贝到django目录下的extra_apps中。如下图:此时,还需要安装一些依赖

2017-10-18 21:10:14 2082

NaveGo a simulation framework for low-cost integrated navigation systems.pdf

NaveGo a simulation framework for low-cost integrated navigation systems.原版英文文档

2020-04-08

Robosense 16线激光雷达用户手册

RS-LiDAR-16 是深圳市速腾聚创科技有限公司最新推出的16 线激光雷达,是世界领先的小型激光雷达,主要面向无人驾驶汽车环境感知、机器人环境感知、无人机测绘等领域。

2018-12-06

Pandar40_产品手册_禾赛.pdf

Pandar40是一款40线机械式激光雷达,其内部包含40组激光收发对,通过360°旋转进行3D成像。Pandar40独特的角度分布,使其更加适用于自动 驾驶。 本用户手册包括Pandar40激光雷达性能参数、机械安装、数据输出格式及GPS时间戳等相关内容。

2020-04-08

卡尔曼滤波及其在INS-GPS组合导航组合导航中的应用.pdf

通过学习 GPS/INS 组合导航数据处理的滤波理论方法, 研究 Kalman 滤波 及其变化形式 CKF 等滤波性能,并进行分析比较。

2020-05-05

基于视觉与惯导融合的定位算法研究_周宇.caj

毕业论文:基于视觉与惯导融合的定位算法研究。简要介绍了基于视觉与惯导融合的定位算法研究,采用扩展卡尔曼滤波的算法。

2020-05-05

空空如也

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

TA关注的人

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