准备
1.创建虚拟环境
mkvirtualenv drf_simple_pro
扩展
创建虚拟环境: mkvirtualenv 虚拟环境名称 创建虚拟环境(指定python版本): mkvirtualenv -p python3 虚拟环境名称 查看所有虚拟环境: workon+2次tab键 使用虚拟环境: workon 虚拟环境名称 退出虚拟环境: deactivate 删除虚拟环境(必须先退出虚拟环境内部才能删除当前虚拟环境): rmvirtualenv 虚拟环境名称 其他相关命令: 查看虚拟环境中安装的包: pip freeze 或者 pip list 收集当前环境中安装的包及其版本: pip freeze > requirements.txt 在部署项目的服务器中安装项目使用的模块: pip install -r requirements.txtView Code
2.pip安装部件
以下安装如果发现速度过慢,可以在后面加上-i https://mirrors.aliyun.com/pypi/simple/
pip install django
pip install djangorestframework
3.创建项目
先进入存放项目的文件夹
django-admin startproject drf_simple_pro
使用 tree drf_simple_pro/ 查看项目目录
drf_simple_pro/ ├── drf_simple_pro │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py
4.使用pycharm
1.打开
2.选择之前创建的虚拟环境
3.启动
成功效果:
5.调整目录
复制settings.py里的内容,删除此文件并创建settings文件夹,在里面建立dev.py和prop.py文件,将复制的内容粘贴到dev.py文件里,用作开发使用,上线时再配置使用prop.py
drf_simple_pro/ ├── docs/ # 项目相关资料保存目录 ├── logs/ # 项目运行时/开发时日志目录 ├── manage.py ├── luffy/ # 项目主应用,开发时的代码保存 │ ├── apps/ # 开发者的代码保存目录,以模块[子应用]为目录保存 │ ├── libs/ # 第三方类库的保存目录[第三方组件、模块] │ ├── settings/ │ ├── dev.py # 项目开发时的本地配置 │ ├── prop.py # 项目上线时的运行配置 │ ├── urls.py # 总路由 │ ├── utils/ # 多个模块[子应用]的公共函数类库[自己开发的组件] └── scripts/ # 保存项目运营时的脚本文件
由于更改了配置文件的位置及名称,所以要更改启动文件manage.py
6.数据库相关
1.创建数据库
create database drf_simple_pro default charset=utf8mb4;
2.为当前项目创建数据库用户[这个用户只能看到这个数据库]
create user drf_simple_pro identified by '123'; #创建用户 grant all privileges on drf_simple_pro.* to 'drf_simple_pro'@'%'; # 为用户分配权限 flush privileges; #
3.配置数据库连接,修改settings/dev.py
4.安装
pip install PymySQL
5.在项目主模块的__init__.py中导入pymysql
6.启动项目,解决两个问题
第一个,数据库版本检测导致的错误
解决方案:注释掉数据库的版本检测代码
第二个,数据库版本的默认编码导致,query返回的内容格式使用有误
解决方案:新增一行代码,把query查询结果转换格式为 bytes类型
功能
标签:simple,pro,py,虚拟环境,pip,drf 来源: https://www.cnblogs.com/yijue-lu/p/11006964.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。