自五月份下旬开始,断断续续学习Python及基于Python的Web框架--Django,根据网上的案例(https://www.django.cn/article/show-23.html)一步一步学习个人博客系统的开发,到7月末初步掌握并完成开发。8月4日,购买了阿里云服务器ECS,开始部署,主要是基于CentOS和Nginx和Uwsgi进行部署,期间前后持续经历了三周自由时间,服务器重置了两次,期间踩坑不断,一度心灰意冷,还好坚持了下来,最终完成系统部署,初尝系统上线喜悦,基本掌握了部署的基本顺序,后续会专门进行总结。本文主要记录了基于Django的博客系统上线过程中,遇到的最后一个问题(connect() failed (111: Connection refused) )及其解决的办法,希望对其他人有用。
Django是通过Model操作数据库,根据应用对应models.py文件定义数据表对象类自动生成(在Pycharm中,通过命令行指令完成数据库结构自动生成及数据迁移)相应的数据库,对于使用数据表(如名称为article)中的一个字段(字段为tag)和另外一个数据表的外键(Foreign Key)建立多对多关系,通常系统会默认以该数据表的名称(article)和该表中的该字段(tag)形成关联数据表(blog_article_tag,其中blog为应用名称),当数据表的字段名称改变(如tag变为tags)时,自动生成的关联数据表名称并不会随之而改变(比如应该改变为blog_article_tags),通常导致数据表访问异常,本文主要针对这一问题结合笔者实践给出解决的办法。