在学习Python的过程中为了激发学习的兴趣,就想着学一个web框架吧,用于以后数据可视化的分享。实在没想到,一如Django深似海,期间碰到了好多的坑。现在总结一下,实时更新。
一、安装Django框架
1、根据官方文档一步步安装即可,链接:官方中文文档
2、注意主机名不能出现中文(也就是你的电脑的名字),否则报编码错误“utf-8超出编码范围”,就这个坑卡了我将近一天。同时注意除了Django这个框架以外其他框架也一样,即使是Python自带的WSGI。
二、安装mysql
1、navecat无法正常连接
8.0版本与以往不同,改变了密码的加密方式,所以使用navcat无法直接连接。
解决办法:修改加密方式,变成原来的方式。
(1)cmd进入sql交互界面
(2)ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER; #修改加密规则
(3) ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; #更新一下用户的密码
(4)FLUSH PRIVILEGES; #刷新权限
(5)alter user 'root'@'localhost' identified by '123456';#重置密码,大功告成
注意要一连串的做完,不可以中途退出交互环境,否则你就进不去了(别问我为啥知道,为此我又重装了一遍mysql)
2、连接配置mysql时出错
按照官方手册一步步来,当输入py mange.py migrate时报错“mysqlclient版本过低”。
解决办法:直接找到源码注释掉这一段
(1)根据最后一条抛出信息找到该段源码
(2)直接注释掉
当再运行py manage.py migrate时,继续报错(情绪处于崩溃边缘)“AttributeError: 'str' object has no attribute 'decode'”。
解决办法:python程序最大问题,编码问题
(1)根据最后的抛出信息找到源码
(2)将其方法decode(),改为encode(),成功
三、建立模型
-
编辑 models.py 文件,改变模型。
-
运行 python manage.py makemigrations 为模型的改变生成迁移文件。
-
运行 python manage.py migrate 来应用数据库迁移。
-
查看数据库,在setting.py中设置的库中有没有出现数据表,出现则说明成功
四、未完待续