python3之Django多数据库

1、定义数据库在django项目中,一个工程中存在多个APP应用很常见;有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接。在Django的setting中使用DATABASES设置定义数据库,可以将数据库映射到特定的别名字典中;DATABASES定义的是要给嵌套字典,该设置必须配置default默认数据库。默认使用SQLite进行单一数据库设置:DATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','NAME':'mydatabase',}}如不使用默认数据库定义可以将默认配置为空字典形式:'default':{}(1)DATABASES内部选项:ATOMIC_REQUESTS:为True时数据库事务包装每个视图,默认为FalseAUTOCOMMIT:为False时禁用Django事务管理,默认为TrueENGINE:设置数据库类型'django.db.backends.postgresql''django.db.backends.mysql''django.db.backends.sqlite3'...

django生产环境搭建(uWSGI+django+nginx+python+MySQL)

1、系统环境,必要知识#cat/etc/redhat-releaseCentOSLinuxrelease7.5.1804(Core)#uname-r3.10.0-862.3.2.el7.x86_64暂时关闭防护墙,关闭selinux:#systemctlstopfirewalld.service#setenforce0#getenforcePermissive准备知识:django:一个基于python的开源web框架。uWSGI:一个基于自有的uwsgi协议,wsgi协议和http服务协议的web网关nginx:高性能的代理web服务器wsgi.py:django项目自带的wsgi接口文件(位于:项目/项目名/wsgi.py)整个项目流程:首先客户端通过浏览器访问服务器资源;nginx作为对外服务的端口(80),nginx接收到客户端http请求后会解包分析,如果是静态文件就去配置的静态文件中查找资源并返回给客户端,如果是动态资源,nginx就通过配置文件将请求传递给uwsgi处理,并转发给uwsgi,wsgi根据请求调用django工程的文件和函数,处理后django将返回值交给w...

python3之安装、pip、setuptools

1、python3安装下载地址:https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz#安装环境centOS7#安装依赖包:yum-yinstallzlib-develbzip2-developenssl-develncurses-develsqlite-develreadline-develtk-develgdbm-develdb4-devellibpcap-develxz-devel#开始安装:wgethttps://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgzmkdir-p/usr/local/python356tarzxvfPython-3.6.5.tgzcdPython-3.6.5./configure--prefix=/usr/local/python356makemakeinstallln-s/usr/local/python356/bin/python3/usr/local/bin/python3ln-s/usr/local/python356/bin/pip3...

python3之模块random随机数

1.random.random()随机生成一个大于0小于1的随机数。print(random.random())0.030647654507190982.random.uniform(a,b)用于生成一个指定范围内的随机浮点数,两个参数其中一个是下限一个是上限。(a<b)print(random.uniform(1,10))print(random.uniform(10,1))5.8047874067570647.4515308651959863.random.randint(a,b)用于生成一个指定范围内的整数,(a<=N<=b)print(random.randint(1,20))204.random.randrange([start],stop[,step])从指定范围内,按指定的基数递增的集合中获取一个随机数print(random.randrange(1,10,2))#相当于从1,3,5,7,9中随机获取一个数5.random.choice(sequence)参数sequence表示一个有序类型,从序列中获取一个随机元素。importrandomlis=[1...

python3之Django内置模板标签和过滤器

一、模板标签内置标签:1、autoescape控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效。该块以endautoescape结束标签关闭。views:defindex(request):returnrender(request,'app02/index.html',{'title':'mypage','user':'<ul>dd</ul>'})html:<body>{{user}}#默认为不转义#}{{user|safe}}#转义HTML标签#}{%autoescapeon%}#转义HTML标签后,按原样输出#}转义:{{user}}{%endautoescape%}<br/>{%autoescapeoff%}不转义:{{user}}{%endautoescape%}</body>outing:<ul>dd</ul>    dd转义:<ul>dd</ul>不转义:dd2、block定义可以被子模板覆盖的块,为模板继承时使用3、commen...

python3Django基础篇

一、Django基础Django是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!Django的特点:强大的数据库功能:拥有强大的数据库操作接口(QuerySetAPI),也能执行原生SQL自带强大后台:网站拥有一个强大的后台,轻松管理内容优雅的网址:用正则匹配网址,传递到对应函数,随意定义。模版系统:易扩展的模版系统,设计简易,代码,样式分开设计,更容易管理。缓存系统:与memcached,redis等缓存系统联用,更出色的表现,更快的加载速度。国际化:完全支持多国语言应用,允许定义翻译的字符,轻松翻译成不同国际的语言。Django目录结构:urls.py:网址入口,关联到对应的Views.py中的一个函数,访问网址对应的函数。views.py:处理用户发出的请求,从urls.py中对应过来,通过渲染templates中的网页可以将显示内容,比如登陆后的用户名,数据,输出到网页。models.py:与数据库操作相关,存入或读取数据时用到这个templates文件夹:views.py中的函数渲染templates中的HTML模版,得到动态内容网页,可以...
ymnets ymnets·2020-03-25

python3之SQLAlchemy

1、SQLAlchemy介绍SQLAlchemy是PythonSQL工具包和对象关系映射器,为应用程序开发人员提供了SQL的全部功能和灵活性。它提供了一整套众所周知的企业级持久性模式,专为高效和高性能的数据库访问而设计,适用于简单的Pythonic域语言。SQLAlchemy对象关系映射器提供了一种将用户定义的Python类与数据库表关联的方法,以及这些类(对象)在其相应表中具有行的实例。它包括一个系统,可以透明地同步对象及其相关行之间状态的所有变化(称为工作单元),以及根据用户定义的类和它们之间定义的关系来表示数据库查询的系统。2、sqlalchemy安装链接可以使用easy_install或者pip安装SQLAlchemy:easy_installsqlalchemy或者pipinstallsqlalchemy查看SQLAlchemy版本信息In[1]:importsqlalchemyIn[2]:sqlalchemy.__version__Out[2]:'1.2.4'SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据...
ymnets ymnets·2020-03-25

python3之memcached

1、memcached介绍Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下DangaInteractive公司的BradFitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。memcached分布式缓存服务器的特点:协议简单、基于libevent的事件处理、内置内存存储方式、memcached不互相通信的分布式2、Memcached安装和基本使用Memcached支持许多...
ymnets ymnets·2020-03-25

python3迭代器和生成器

1、手动访问迭代器中的元素#要手动访问迭代器中的元素,可以使用next()函数In[3]:withopen('/etc/passwd')asf:...:try:...:whileTrue:...:print(next(f))#next()函数访问迭代中的函数...:exceptStopIteration:#捕获结束异常...:print('None')#通过指定返回结束值来判断迭代结束In[28]:withopen('/etc/passwd')asf:...:whileTrue:...:line=next(f,None)...:iflineisNone:...:break...:print(line)2、委托迭代classnode(object):def__init__(self,value):self._value=valueself._children=[]def__repr__(self):return'Node({!r})'.format(self._value)defadd_child(self,node):self._children.append(node)def__it...
ymnets ymnets·2020-03-25

python3数字、日期和时间

1、对数值进行取整#使用内建的round(value,ndigits)函数来取整,ndigits指定保留的位数,在取整时会取值在偶数上,如1.25取一位会取整1.2,1.26会取整1.3In[1]:round(1.23,1)Out[1]:1.2In[2]:round(1.25,1)Out[2]:1.2In[3]:round(1.26,1)Out[3]:1.3In[4]:round(1.2645,3)Out[4]:1.264#如果参数ndigits为负数的话会相应的取整到十位、白位和千位In[1]:a=1234567In[2]:round(a,-1)Out[2]:1234570In[3]:round(a,-3)Out[3]:1235000#通过格式化操作取小数精度In[4]:x=1.23456In[5]:format(x,'0.2f')Out[5]:'1.23'In[6]:'valueis{:0.3f}'.format(x)Out[6]:'valueis1.235'2、执行精确的小数计算#在数学计算中由于CPU的浮点运算单元特性导致会引入微小的误差In[11]:a=4.2In[12]:b...

python3字符串与文本处理

每个程序都回涉及到文本处理,如拆分字符串、搜索、替换、词法分析等。许多任务都可以通过内建的字符串方法来轻松解决,但更复杂的操作就需要正则表达式来解决。1、针对任意多的分隔符拆分字符串In[1]:line='asdffjdk;afed,fjek,asdf,foo'#使用正则模块In[2]:importre#使用正则split方法可以匹配多分割符In[3]:re.split(r'[;,s]s*',line)Out[3]:['asdf','fjdk','afed','fjek','asdf','foo']#使用捕获组分割会将匹配的文本也包含在最终结果中In[4]:re.split(r'(;|,|s)s*',line)Out[4]:['asdf','','fjdk',';','afed',',','fjek',',','asdf',',','foo']#如果不想在结果中看到分隔符,可以受用?:的形式使用非捕获组In[5]:re.split(r'(?:,|;|s)s*',line)Out[5]:['asdf','fjdk','afed','fjek','asdf','foo']2、在字符串的开头...

python3数据结构与算法

python内置的数据结构包括:列表(list)、集合(set)、字典(dictionary),一般情况下我们可以直接使用这些数据结构,但通常我们还需要考虑比如搜索、排序、排列以及赛选等一些常见的问题。如何巧妙的使用数据结构和同数据有关的算法,在collections模块中包含了针对各种数据结构的解决方法。1、序列分解为变量In[5]:a=(4,5,6)In[6]:x,y,z=aIn[7]:xOut[7]:4In[8]:zOut[8]:6In[9]:yOut[9]:5In[10]:b=['python',222,(2018,9,30)]#嵌套分解变量In[11]:p,n,(year,mon,day)=bIn[12]:pOut[12]:'python'In[13]:nOut[13]:222In[14]:yearOut[14]:2018In[15]:dayOut[15]:30#可以分解的对象只要是可迭代对象如字符串、文件、迭代器和生成器In[16]:s='py'In[17]:x,y=sIn[18]:xOut[18]:'p'#忽略某个值使用下划线代替In[19]:data='python'I...

python3光学字符识别模块tesserocr与pytesseract

OCR,即OpticalCharacterRecognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程,对应图形验证码来说,它们都是一些不规则的字符,这些字符是由字符稍加扭曲变换得到的内容,我们可以使用OCR技术来讲其转化为电子文本,然后将结果提取交给服务器,便可以达到自动识别验证码的过程tesserocr与pytesseract是Python的一个OCR识别库,但其实是对tesseract做的一层PythonAPI封装,pytesseract是Google的Tesseract-OCR引擎包装器;所以它们的核心是tesseract,因此在安装tesserocr之前,我们需要先安装tesseract1、安装tesseract、tesserocr、pytesseract (1)windows下的安装下载tesseract:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.0.0-beta.1.20180414.exe然后双击程序安装即可,可以勾选Additi...

python3之成像库pillow

python提供了pythonimagelibrary图像库,处理图像功能,该库提供了广泛的文件格式支持,如JPEG、PNG、GIF、等,它提供了图像档案、图像显示、图像处理等功能PIL中所涉及到的基本概念包括,(bands)通道,(mode)模式,(coordinatesystem)坐标系统,(palette)调色板,(filters)过滤器每张图像都是由一个或者多个数据通道构成,PIL可以在单张图片中合成相同维数和深度的多个通道,如RGB有三个通道,而灰度图像则只有一个通道图像实际上是像素数据的矩形图,图像的模式定义了图像中像素的类型和深度,它在图像中定义mode模式的概念,如:1:1位像素,表示黑和白,占8bit,在图像表示中称为位图L:表示黑白之间的灰度,占8bit像素p:8位像素,使用调色版映射RGB:为真彩色,占用3x8位像素,其中R为red红色,G为green绿色,B为blue蓝色,三原色叠加形成的色彩变化,如三通道都为0则代表黑色,都为255则代表白色RGBA:为带透明蒙版的真彩色,其中的A为alpha透明度,占用4x8位像素其他的还有打印分色CMYK不是很常用不多做介...
ymnets ymnets·2020-03-25

python3之Splash

Splash是一个javascript渲染服务。它是一个带有HTTPAPI的轻量级Web浏览器,使用Twisted和QT5在Python3中实现。QT反应器用于使服务完全异步,允许通过QT主循环利用webkit并发。一些Splash功能:并行处理多个网页获取HTML源代码或截取屏幕截图关闭图像或使用AdblockPlus规则使渲染更快在页面上下文中执行自定义JavaScript可通过Lua脚本来控制页面的渲染过程在Splash-Jupyter笔记本中开发SplashLua脚本。以HAR格式获取详细的渲染信息1、Scrapy-Splash的安装Scrapy-Splash的安装分为两部分,一个是Splash服务的安装,具体通过Docker来安装服务,运行服务会启动一个Splash服务,通过它的接口来实现JavaScript页面的加载;另外一个是Scrapy-Splash的Python库的安装,安装后就可在Scrapy中使用Splash服务了,下面我们分三部份来安装:(1)安装Docker#安装所需要的包:yuminstall-yyum-utilsdevice-mapper-persiste...
ymnets ymnets·2020-03-25
首页上一页...386387388389390...下一页尾页