- 博客(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
2020-04-08
Robosense 16线激光雷达用户手册
2018-12-06
Pandar40_产品手册_禾赛.pdf
2020-04-08
卡尔曼滤波及其在INS-GPS组合导航组合导航中的应用.pdf
2020-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人