<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FlyChestnut的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FlyChestnut</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FlyChestnut]]></copyright><item><title><![CDATA[配置apache+python虚拟环境的坑——mod_wsgi模块只支持在安装过程中编译它的Python版本]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/108772118</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/108772118</guid><author>FlyChestnut</author><pubDate>Thu, 24 Sep 2020 14:15:08 +0800</pubDate><description><![CDATA[今天准备正式部署将自己的个人博客部署到云服务器上，结果怎么配置都无法连接上我的站点。起初我怀疑是服务器因为某些原因而无法连接，然而在开放了80端口之后，apache的默认000站点可以正常访问，ping测试也很正常。我又去检查了所有的配置文件，连一个标点符号都不放过，也没发现有错误。去查看apache错误日志后发现一直报这个错误
[Thu Sep 24 11:37:43.769231 2020] [wsgi:error] [pid 1206:tid 139625453172480] [remote 14.2]]></description><category></category></item><item><title><![CDATA[在服务器中安装MySQL]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/108739725</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/108739725</guid><author>FlyChestnut</author><pubDate>Tue, 22 Sep 2020 21:34:12 +0800</pubDate><description><![CDATA[1、添加 MySQL APT 仓库
官网的下载地址：MySQL APT Repository（https://dev.mysql.com/downloads/repo/apt/）
不过在服务器上可没有图形界面可以操作。所以在服务器上有两种方法可以获得这个软件包：

通过ftp从自己的电脑传输过去
用wget命令下载

我选择第二种方法。首先，我到官网那找到链接（https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb）
然后执行执行下面这条命令下]]></description><category></category></item><item><title><![CDATA[VirtualBox配置Ubuntu虚拟机完整过程]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/108723825</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/108723825</guid><author>FlyChestnut</author><pubDate>Tue, 22 Sep 2020 19:05:28 +0800</pubDate><description><![CDATA[前言
在VirtualBox下配置Ubuntu虚拟机的完整过程，写这篇博文倒不是因为这个过程有多难，纯粹就是想做个记录。网上实际上也能找到一些文章，就是比较分散。所以想写一篇完整版的，方便自己也方便大家查看。
我在写这篇文章时，具体的环境如下：

Win10主机
VirtualBox6.1版本
Lubuntu19版本（使用LXDE/LXQT作为桌面环境的Ubuntu版本）

创建虚拟电脑与安装系统
第一步，创建虚拟电脑。很简单，可以使用默认的配置先创建，要是觉得卡顿什么的再增加配置也行。
注：使用Lubun]]></description><category></category></item><item><title><![CDATA[保护好自己的开源项目敏感信息（以Django框架为例）]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/108561995</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/108561995</guid><author>FlyChestnut</author><pubDate>Sun, 13 Sep 2020 15:42:18 +0800</pubDate><description><![CDATA[前言：
如果你要在Github或Gitee等网站开源自己的项目，请注意保管好隐私。当你开源了这些项目之后，就意味着每一个人都可以看你的源码。而很多情况下，你的源码里很可能包含一些很重要的信息，比如数据库的密码，或邮箱的账号或密码等。一旦你泄露了这些信息，轻则个人隐私泄露，重则服务器被黑，数据库数据泄露，甚至你的其他账号密码（你的各类账号的密码会不会相同或者相似？）全部泄露等。
我是用Python的Django框架做后端的，所以我就只讲Django了，其他语言或框架的也可以参考一下。
Django的setti]]></description><category></category></item><item><title><![CDATA[django-ckeditor的动态存储路径]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/108316135</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/108316135</guid><author>FlyChestnut</author><pubDate>Mon, 31 Aug 2020 11:00:28 +0800</pubDate><description><![CDATA[django-ckeditor的动态存储路径
在安装好最新的django-ckeditor之后，关于django-ckeditor的简单配置我就不在赘述，网上已经有很多人写过了。详情也可以参考PyPI中的官方文档。
这篇文章主要讲解django-ckeditor的动态存储路径，也就是路径生成器的配置与用法。我在这里花了很多的时间，而网上似乎很难搜到现成完整的配置过程和方法，特此在这里记录并分享。
首先，要使用django-ckeditor的文件上传功能需要在settings.py中安装应用
INSTALLE]]></description><category></category></item><item><title><![CDATA[Python 的条件赋值（选择性赋值）]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107800017</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107800017</guid><author>FlyChestnut</author><pubDate>Tue, 04 Aug 2020 21:22:42 +0800</pubDate><description><![CDATA[在Python中可以通过使用精简版 if...else...语句来实现条件赋值，类似于一些语言的三目运算符


&gt;&gt;&gt; flag = 1
&gt;&gt;&gt; t = 'yes' if text == 1 else 'no'
&gt;&gt;&gt; t
'no'
&gt;&gt;&gt; 
&gt;&gt;&gt; x = 'yes' if text != 1 else 'no'
&gt;&gt;&gt; x
'yes'
&gt;&gt;&gt; 



...]]></description><category></category></item><item><title><![CDATA[Python的特殊属性： __slots__]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107753595</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107753595</guid><author>FlyChestnut</author><pubDate>Mon, 03 Aug 2020 00:05:47 +0800</pubDate><description><![CDATA[在Python中不知存在着特殊方法（魔术方法），还存在着特殊属性：__slots__

在Python中，用户自定义的类的属性会默认保存在 __dict__ 属性中。__dict__ 属性对应的是一个用来储存类属性的字典。字典内的值可以通过简单的语句instanceName.__dict__直接查看，和查看一个普通的类属性一样。

而 __slots__ 属性的作用就是：取代__dict__属性，将类属性保存到 __slots__中。__slots__属性是一个元组，具体用法如下：


# Py...]]></description><category></category></item><item><title><![CDATA[在Python中，if a in b 的效率更高还是直接比较更高？]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107588304</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107588304</guid><author>FlyChestnut</author><pubDate>Sun, 26 Jul 2020 01:44:10 +0800</pubDate><description><![CDATA[import time

def main_1():
    li = [x for x in range(5000000)]
    start = time.clock()
    if 2500000 in li:
        end = time.clock()
        print('1-执行时间: ', end-start)

def main_2():
    x = 2500000
    start = time.clock()
    if x &gt; 0 and x &l.]]></description><category></category></item><item><title><![CDATA[Python 创建多维空列表]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107526924</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107526924</guid><author>FlyChestnut</author><pubDate>Thu, 23 Jul 2020 01:04:45 +0800</pubDate><description><![CDATA[# 以三维空列表为例
3d_list = [ [ [] for j in range(9) ] for i in range(9) ]

列表推导式的生成值可以是空列表 []，因此只要利用列表推导式的复合循环即可轻松达到目的
]]></description><category></category></item><item><title><![CDATA[【Python3.8 官方文档4.7.3.4】位置参数 name 和 **kwds 之间由于存在关键字名称 name 而可能产生潜在冲突]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107385872</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107385872</guid><author>FlyChestnut</author><pubDate>Thu, 16 Jul 2020 16:21:54 +0800</pubDate><description><![CDATA[在 Python3.8 的官方文档中的 4.7.3.4的一个示例中：

摘自原文：

最后，请考虑这个函数定义，它的位置参数 name 和 **kwds 之间由于存在关键字名称 name 而可能产生潜在冲突:


def foo(name, **kwds):
    return 'name' in kwds

任何调用都不可能让它返回 True，因为关键字 'name' 将总是绑定到第一个形参。



起初并不太理解这个函数，为什么说“任何调用都不可能让它返回 True”。

在学习了 *和 **...]]></description><category></category></item><item><title><![CDATA[在Python，循环语句 for 和 while 竟然可以搭配 else 语句！！]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107362558</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107362558</guid><author>FlyChestnut</author><pubDate>Wed, 15 Jul 2020 16:08:46 +0800</pubDate><description><![CDATA[循环语句可能带有 else 子句；它会在循环耗尽了可迭代对象 (使用 for) 或循环条件变为假值 (使用 while) 时被执行，但不会在循环被 break 语句终止时被执行。 以下搜索素数的循环就是这样的一个例子:


&gt;&gt;&gt; for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print(n, 'equals', x, '*', n//x)
..]]></description><category></category></item><item><title><![CDATA[Python中的比较操作的可传递性（a ＜ b == c）]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107360728</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107360728</guid><author>FlyChestnut</author><pubDate>Wed, 15 Jul 2020 14:54:44 +0800</pubDate><description><![CDATA[像 a &lt; b == c这种比较操作在Python中是合法的

这条操作的含义是：是否 a 小于 b 并且 b 等于 c
]]></description><category></category></item><item><title><![CDATA[Python中的del语句——变量删除]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/107359839</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/107359839</guid><author>FlyChestnut</author><pubDate>Wed, 15 Jul 2020 14:26:15 +0800</pubDate><description><![CDATA[Python中的del语句作用是删除变量，而不是删除数据


&gt;&gt;&gt; a = 1       # 变量a赋值
&gt;&gt;&gt; b = a       # 将a赋值给b
&gt;&gt;&gt; del a       # 删除a变量
&gt;&gt;&gt; b           # 查看b变量的值
1
&gt;&gt;&gt; a           # 查看a变量
Traceback (most recent call last):
  File "&lt;stdin&gt]]></description><category></category></item><item><title><![CDATA[Django之test.py测试方法的命名（一个小坑）]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/103057950</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/103057950</guid><author>FlyChestnut</author><pubDate>Wed, 13 Nov 2019 21:37:12 +0800</pubDate><description><![CDATA[Django之test.py测试方法的命名（一个小坑）
Django测试如果运行结果为： run 0 tests in 0.000s
请检查你在test.py中所写的类的方法的命名方式
正确的命名应该以 test 开头。如果不是，Django将检测不到这个测试方法

...]]></description><category></category></item><item><title><![CDATA[Django的图片上传与读取（完全攻略！！）]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/102997121</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/102997121</guid><author>FlyChestnut</author><pubDate>Sun, 10 Nov 2019 15:34:00 +0800</pubDate><description><![CDATA[Django图片上传与读取完全攻略！！
准备工作
Django版本：2.2
数据库模型字段直接使用 ImageField
使用ImageField必须要安装第三方库Pillow
settings.py的配置（顶级settings）
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTempla...]]></description><category></category></item><item><title><![CDATA[HTML5那些容易搞混的东东]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/102787289</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/102787289</guid><author>FlyChestnut</author><pubDate>Mon, 28 Oct 2019 19:44:36 +0800</pubDate><description><![CDATA[前端那些容易搞混的东东
margin和padding
margin	是外边距
padding	是内边距
rem和em
em的缩放比例是以父元素做参考的
rem的缩放比例是以根元素做参考的
——2019/10/28

...]]></description><category></category></item><item><title><![CDATA[HTML5中name属性与id属性在使用上的区别]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/102785773</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/102785773</guid><author>FlyChestnut</author><pubDate>Mon, 28 Oct 2019 18:14:23 +0800</pubDate><description><![CDATA[HTML5中name属性与id属性在使用上的区别
在JS脚本中，若要精准的获得一个节点可以通过getElementById()来获得
经实际使用（试坑）发现，getElementByName()是无法通过name属性获取节点的
即在普通标签中加入name属性也不能通过getElementByName()方法来获得该节点
实际上，在HTML5中name属性几乎唯一可用的地方就是在表单中，让服务器后端...]]></description><category></category></item><item><title><![CDATA[学习记录：Django 读取request.POST数据的方法]]></title><link>https://blog.youkuaiyun.com/FlyChestnut/article/details/102577158</link><guid>https://blog.youkuaiyun.com/FlyChestnut/article/details/102577158</guid><author>FlyChestnut</author><pubDate>Tue, 15 Oct 2019 23:36:09 +0800</pubDate><description><![CDATA[学习记录：Django 读取request.POST数据时所遇到的坑！
废话不多说，直奔主题。
在request.POST中读取网页上传的表单数据可以使用request.POST.get(‘name’)
get(‘name’)方法中的name为表单中的name属性，填id属性是没用的。
——2019/10/15

...]]></description><category></category></item></channel></rss>