<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[wr166的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wr166</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wr166]]></copyright><item><title><![CDATA[从购买服务器ECS到部署Flask再到绑定域名]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/103800237</link><guid>https://blog.youkuaiyun.com/wr166/article/details/103800237</guid><author>wr166</author><pubDate>Thu, 02 Jan 2020 14:45:49 +0800</pubDate><description><![CDATA[话不多说，好久没有写博客啦，最近突发奇想的想自己搞一个个人网站，于是把过程记录下来，面向和我一样的小白程序员。话不多说直接开始
购买阿里服务器ECS
本人穷逼一个，还好有阿里的云翼计划,凡是身份证上面的年龄&lt;=24岁的都可以用9.5元一个月的超低价格购买服务器，但是购买时长不能超过24岁（诶，岁月催人老啊）正好今年（2020年）我刚好24岁，还能用真庆幸（话说废话有点多了）
我买的是云服务器...]]></description><category></category></item><item><title><![CDATA[Python列表的浅拷贝和深拷贝]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/90764625</link><guid>https://blog.youkuaiyun.com/wr166/article/details/90764625</guid><author>wr166</author><pubDate>Tue, 04 Jun 2019 10:41:43 +0800</pubDate><description><![CDATA[之前我对深拷贝和浅拷贝的认识有误，
错误的认识就不说出来了，避免误导大家。
下面列出对与列表的浅拷贝的理解，如果有误欢迎大家指出
因为我之前对应深浅拷贝都是用一维字典来判断的，这里有个坑，下面会说。
先声明，[:] 和copy.copy()的拷贝都是浅拷贝，copy.deepcopy()是深拷贝（看名字就知道了）
先看下面的代码
&gt;&gt;&gt;import copy
&gt;&gt;&g...]]></description><category></category></item><item><title><![CDATA[Python切片，也就是[:],与[::-1]等情况的理解]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/90636200</link><guid>https://blog.youkuaiyun.com/wr166/article/details/90636200</guid><author>wr166</author><pubDate>Tue, 28 May 2019 11:33:15 +0800</pubDate><description><![CDATA[Python中符合切片并且常用的有：列表，字符串，元组。
下面那列表来说明，其他的也是一样的。
格式：[开头：结束：步长]
开头：当步长&gt;0时，不写默认0。当步长&lt;0时，不写默认-1
结束：当步长&gt;0时，不写默认列表长度加一。当步长&lt;0时，不写默认负的列表长度减一
步长：默认1，&gt;0 是从左往右走，&lt;0是从右往左走(▽)
例如：
&gt;&gt;&gt;a_li...]]></description><category></category></item><item><title><![CDATA[flask通过ajax动态生成页面的模板方式]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/90607918</link><guid>https://blog.youkuaiyun.com/wr166/article/details/90607918</guid><author>wr166</author><pubDate>Mon, 27 May 2019 17:53:36 +0800</pubDate><description><![CDATA[之前用的都是在ajax里面的success里面通过+=的方式手动拼接页面，虽然这样也行，但是十分的麻烦，而且容易出错。
google了一下，发现还有一种模板的方式（其实flask页面的渲染也是模板类型，就是没有想到ajax也可以返回flask的模板页面）]]></description><category></category></item><item><title><![CDATA[jq的ajax里面传递form表单（包含文件）的方法]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/87460318</link><guid>https://blog.youkuaiyun.com/wr166/article/details/87460318</guid><author>wr166</author><pubDate>Sat, 16 Feb 2019 17:38:32 +0800</pubDate><description><![CDATA[本文主要介绍如何在jq的ajax里面传递form表单到后台
话不多说，直接上ajax代码
&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
	$('#btn_upload').change(function(){
		var form = new FormData(document.getElementById(&quot;upload_form&quot;));
        $.aja...]]></description><category></category></item><item><title><![CDATA[ubuntu18.10 给sublime text 3安装SublimeCodeIntel]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/86741769</link><guid>https://blog.youkuaiyun.com/wr166/article/details/86741769</guid><author>wr166</author><pubDate>Fri, 01 Feb 2019 16:01:16 +0800</pubDate><description><![CDATA[前提:确保你可以科学上网（可以访问外网）
第一步：安装Sublime text 3（推荐去官网下载）
第二步：打开sublime,摁住键盘的shift+ctrl+p
输入Package Control,就能看到Package Control,这个时候敲一下回车...
如何一切顺利你就能安装好Package Control，这一步你就不需要往下看啦o(*￣︶￣*)o
如果万一弹了窗，说出现错误也别慌...]]></description><category></category></item><item><title><![CDATA[如何避免celey定时任务的重复执行（通过celery_one）]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/82866778</link><guid>https://blog.youkuaiyun.com/wr166/article/details/82866778</guid><author>wr166</author><pubDate>Thu, 27 Sep 2018 14:31:42 +0800</pubDate><description><![CDATA[场景：在公司通过celery写了几个定时的任务，但是过了一段时间我发现这些定时任务的日志里面竟然出现的重复的结果，定时任务大概就是定期的去统计数据什么的，类似报表那样，可是今天我发现竟然有两条一模一样的报表，于是去查了一下celery的运行日志，发现同一时间内（1s内）竟然同时发送了两次的任务，也就是同时产生了两个worker。然后就出现了两条一毛一样的结果，还写到了我的报表里面。
查了一下官方c...]]></description><category></category></item><item><title><![CDATA[在python2的环境下用supervisor来运行python3的web项目]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/79051725</link><guid>https://blog.youkuaiyun.com/wr166/article/details/79051725</guid><author>wr166</author><pubDate>Sat, 13 Jan 2018 15:31:22 +0800</pubDate><description><![CDATA[安装配置什么的就不说了教程很多服务器是python2的（因为supervisor不支持python3） 
项目是python3的，靠virtualenv来创建的虚拟环境。（项目名称AAA吧） 
在服务器安装好supervisor之后 
先通过下面的语句生成配置文件（路径就是AAA的根目录下）echo_supervisord_conf &gt; supervisord.conf然后打开supervisord]]></description><category></category></item><item><title><![CDATA[如何在服务器（Linux）里面定时（crontab）执行需要虚拟环境（venv）的代码（爬虫）]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/78820985</link><guid>https://blog.youkuaiyun.com/wr166/article/details/78820985</guid><author>wr166</author><pubDate>Sat, 16 Dec 2017 17:28:45 +0800</pubDate><description><![CDATA[需要crontab 加sh （其实我对这两个也不太熟，对sh更不熟，但是发现还挺好用的） 
crontab的使用时terminal下： 
crontab -e进入（如果之前没有用过会让你先选择一个编辑器，个人觉得系统推荐的那个（序号是2）就挺好用的） 
然后移动到最下面（类似vi编辑器一样的使用方法） 
输入命令（这里的命令网上太多教程了，就不一一赘述了）* * * * * /home/xxx/xx]]></description><category></category></item><item><title><![CDATA[Flask的WTF使用]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/78815640</link><guid>https://blog.youkuaiyun.com/wr166/article/details/78815640</guid><author>wr166</author><pubDate>Fri, 15 Dec 2017 18:03:50 +0800</pubDate><description><![CDATA[下面是使用的简略说明主要还是看各文件之间的关联后台代码： 
表单里面可以做输入的校验，还可以自己写校验函数，格式要求是固定的 
def validate_(属性名)(self,field): 
form.py#表单注册Registration
class RegistrationForm(Form):
    ###render_kw={}里面保存默认的提示
    email = StringFi]]></description><category></category></item><item><title><![CDATA[js判断linux服务器的图片是否存在]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/78730746</link><guid>https://blog.youkuaiyun.com/wr166/article/details/78730746</guid><author>wr166</author><pubDate>Wed, 06 Dec 2017 14:55:48 +0800</pubDate><description><![CDATA[系统：linux 
项目：Flask框架下的WEB应用 
遇到问题如下： 
在做项目的时候遇到，想要判断页面上本该显示图片的位置的图片是否存在，把不存在的所有图片ID（唯一）记录下来。后台会传入图片的id队列到前端。用的是最基本的flask框架传参方法（这个大家都懂） 
前端代码如下：{% for sale in sales %}]]></description><category></category></item><item><title><![CDATA[Ajax回调函数中在创建一次请求提交]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/78730561</link><guid>https://blog.youkuaiyun.com/wr166/article/details/78730561</guid><author>wr166</author><pubDate>Wed, 06 Dec 2017 14:44:00 +0800</pubDate><description><![CDATA[在做项目的时候遇到如下问题： 
在前台请求一个ajax访问服务器的相关地址（目的是为了判断服务器端是否有该图片）然后返回的error函数里面想对不存在的图片名进行传回后台处理、所以就遇到了这个问题，查了一下资料发现是可以在回调函数里面再写请求函数的：$.ajax(url, {
     type: 'get', 
     async:false,//取消ajax的异步实现
     timeout]]></description><category></category></item><item><title><![CDATA[在js里面使用jinjia2的变量（后台传到前台的变量）]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/78728892</link><guid>https://blog.youkuaiyun.com/wr166/article/details/78728892</guid><author>wr166</author><pubDate>Wed, 06 Dec 2017 11:34:50 +0800</pubDate><description><![CDATA[系统：linux 
编程语言：python 
问题产生的原因：html前端的页面是靠后台传出的数据的多少和值进行显示的（用{% for xxx in result%}循环产生）但是因为数据量巨大不能再产生的时候处理想要的数据（因为会很卡），所以把处理的js写在for循环的外面 
但是问题就来了，后台产生的循环数据，在for外面可是不能访问的，但是for循环里面有会稍微处理一下数据所以，在最上面js里]]></description><category></category></item><item><title><![CDATA[Celery和Flask的结合（在Blueprint控制下的部署，包含4.1.0与4.2.1版本）]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/78717549</link><guid>https://blog.youkuaiyun.com/wr166/article/details/78717549</guid><author>wr166</author><pubDate>Tue, 05 Dec 2017 11:07:11 +0800</pubDate><description><![CDATA[方便他人，也为了记录知识备注：前提是已经按照好了celery，为什么不用RabbitMQ呢？ 
    因为我用的是linux，发现RabbitMQ并不是python语言编写的，安装十分麻烦（个人感觉） 
    #接下来是正文# 
首先是项目的目录预览（只列出来了相关的模块） 
Proj/ 
app/ 
extensions.py 
__init__.py]]></description><category></category></item><item><title><![CDATA[pymysql链接Mysql数据库报Connection refused的错误]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/78250842</link><guid>https://blog.youkuaiyun.com/wr166/article/details/78250842</guid><author>wr166</author><pubDate>Mon, 16 Oct 2017 16:08:06 +0800</pubDate><description><![CDATA[pymysql.err.OperationalError: (2003, “Can’t connect to MySQL server on ‘localhost’ ([Errno 111] Connection refused)”)发现远程连接的时候出现Can’t connect to MySQL server on (111 “Connection refused”)的问题，叶子经过排查解决了这]]></description><category></category></item><item><title><![CDATA[Linux为Mysql安装Mysql-connector]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/77991777</link><guid>https://blog.youkuaiyun.com/wr166/article/details/77991777</guid><author>wr166</author><pubDate>Fri, 15 Sep 2017 15:01:05 +0800</pubDate><description><![CDATA[本人机子基本信息如下 
Mysql Server version: 5.7.19-0ubuntu0.17.04.1 (Ubuntu) 
安装Mysql-connector 
运行pip install mysql-connector==2.1.4 
接下来就是自动安装，并且会成功，BUT如果用如下的语句就会出问题 
运行pip install mysql-connector 
但是会报错，因为版本的]]></description><category></category></item><item><title><![CDATA[Linux安装pip]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/77991220</link><guid>https://blog.youkuaiyun.com/wr166/article/details/77991220</guid><author>wr166</author><pubDate>Fri, 15 Sep 2017 14:25:50 +0800</pubDate><description><![CDATA[使用压缩包的方式安装pip 
pip官网地址 
选择 
解压（无所谓解压到哪里，反正只是个安装包） 
tar zxvf ***(文件名字) 
解压后就有个新的文件，进入这个新的文件 
然后执行命令python setup.py install 
主要这里执行这个操作的账号要有权限（强烈推荐以后安装什么都用root这个账号来安装，会减少很多关于权限方面的问题） 
安装完成之后就会有所提示，也可以使用]]></description><category></category></item><item><title><![CDATA[在Linux上安装Mysql5.7]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/77983521</link><guid>https://blog.youkuaiyun.com/wr166/article/details/77983521</guid><author>wr166</author><pubDate>Thu, 14 Sep 2017 17:58:13 +0800</pubDate><description><![CDATA[网上的很多教程都是过期的，根本不能用，下文是我自己安装Mysql5.7的经验这是我自己的经验，仅供参考和交流。 
小技巧：用root账号进行设置，可以节省很多因为权限问题导致的访问错误第一步：【解压】 
把压缩包放在创建好的目录下例如/home/wangyu/work 
这个就不用介绍了，不懂的话去查一下其他教程。其他教程这个写的非常清楚，而且都是大致一样的。这里肯定是出不了什么大问题的然后创建my]]></description><category></category></item><item><title><![CDATA[更改yum的默认版本]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/77966965</link><guid>https://blog.youkuaiyun.com/wr166/article/details/77966965</guid><author>wr166</author><pubDate>Wed, 13 Sep 2017 15:42:46 +0800</pubDate><description><![CDATA[yum更改版本因为安装了python2.7 后面有安装了python3.5 
但是python3与python2有很大的区别所以导致在使用yum的时候出现了错误。Linux 里面安装了两个版本的python的话 运行yum就会报错 
    　-bash: ./scripts/mysql_install_db: /usr/bin/perl: bad interpreter: 没有那个文件或目录]]></description><category></category></item><item><title><![CDATA[Python实现发邮件]]></title><link>https://blog.youkuaiyun.com/wr166/article/details/77966900</link><guid>https://blog.youkuaiyun.com/wr166/article/details/77966900</guid><author>wr166</author><pubDate>Wed, 13 Sep 2017 15:38:55 +0800</pubDate><description><![CDATA[python实现简单的发送邮件的功能#conding:utf-8from email.mime.text import MIMEText
from_addr = input('请输入本人邮件的地址：')
password = 'cqigcudcganjbdgi'
to_addr = input('请输入要发达的邮件地址：')
smtp_server = 'smtp.qq.com'
emailtext]]></description><category></category></item></channel></rss>