整理Django创建项目、启动及app过程及遇到的问题和解决方案
创建Django项目
创建Django项目的时候尽量创建一个单独的虚拟环境,这样后续不会与其他项目的版本产生冲突问题。
项目中使用mysql数据库的情况下需要首先安装相关包,一般为mysqlclient或者pymysql。使用pymysql参考这篇【实战案例】Django框架连接并操作数据库MySQL相关API,但是有些项目中的配置可能会出现参数无法设置等问题,如下:
这是弃用pymysql,改用mysqlclient。首先删除apps中__init__.py中关于pymsql的代码,在requirements.txt中添加mysqlclient依赖,同时安装。
上述过程中又有可能出现一个问题如下:
running build_ext
building 'MySQLdb._mysql' extension
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
----------------------------------------
Failed building wheel for mysqlclient
大概的意思就是缺少相应的Microsoft Visual C++ 14.0组件,但是这个过程亲测会比较麻烦,同时相应的组件也比较大,放弃了,改用直接下载较老版本的mysqlclient对应的whl文件本地安装。相应的文件可以去pypi下载,如我对应的版本为:
django==2.2
mysqlclient==2.2.1
或者直接命令安装也可。通过上述版本更改可实现Django项目正常启动。
创建应用app
在项目根目录下使用如下命令创建app,如创建users这样的app(若不是在项目根目录下则先通过命令将路径切换到manage.py所在的项目根目录下):
python manage.py startapp users
如果是通过PyCharm管理项目的话也可以在菜单栏选择Tools->Run manage.py Task后直接输入startapp users命令即可。
上述过程中创建的过程会自动更新settings.py中的INSTALLED_APPS,但是我在创建的过程中发现文件目录并没有更新生成,排查了一通发现是PyCharm的问题,在文件资源管理器中打开项目文件目录是可以看到相应创建的app文件目录的,重启PyCharm就可以看到了。