2.虚拟环境的使用
使用Terminal
在pycahrm中使用Terminal等效于windows的cmd,mac的终端
我为什么使用Terminal
1.由于我使用的是虚拟环境,我通过pycharm打开该项目,在Terminal我可以直接进入该项目的虚拟环境
如图所示,前面括号里面的便是虚拟环境名称
2.方便管理,一个项目对应一套环境,在实际工作中可以避免环境的冲突
3.如果是用windows或者mac自带的,那么你直接在项目根目录下使用pip,他会直接引用你环境变量中配置的第一个python环境,而不是你当前的项目的虚拟环境,除非你把虚拟环境配置到环境变量并且是第一个(使用命令where python 或 where pip查看你电脑拥有的环境变量)
4.在Terminal进行pip下载,下载的site-package直接就在你虚拟环境里面
3.django下载
两个等于号,前后不能有空格
pip install django==2.2
看到这句就是下载成功了
看到这句就是下载成功了
4.创建django项目
1.依然在Terminal中,确认一下是在项目根目录下
2.创建django项目(项目名自己取,我取的是XZAndroidPlatform)
django-admin startproject <project_name>
3.进入创建的这个项目里面,创建app(app名字自己取,我的是xiaozai_app)
django-admin startapp xiaozai_app
4.启动项目
python manage.py runserver
5.点击该网址,看到如下页面,恭喜你成功创建自己第一个django项目
5.重新打开django项目
pycharm重新打开XZAndroidPlatfor
1.pycharm一键启动django项目
重新打开项目之后,可以看到pycharm上方有如下按钮(社区版没有),点击绿色按钮即可启动django项目
如果出现红叉,请点开编辑,选择前面创建的虚拟环境路径即可
我的配置如下
注:如果勾选了Run browse,那你每次启动django服务的时候都会自动给你打开浏览器进入django项目下。
2.修改端口
修改上图的post,因为8000端口很容易被平常其他的项目占用,我们可以改为其他的不常用的端口,如8088,8099等
我的改为了8088端口
3.认识各个文件
XZAndroidPlatform 文件夹 - > 项目文件夹
– xiaozai_app 文件夹 -> 注册的app
— migrations文件夹 -> 迁移记录
— admin.py : 把数据库的具体表注册到后台,便于管理(后台管理)
— apps.py : 当前应用配置信息的入口
— models.py : 数据模型模块
— tests.py : 单元测试
— views.py : 视图,写实际后端代码
– XZAndroidPlatform 文件夹 -> django的项目目录
— settings.py:相关设置及配置
— urls.py : 项目的跟路由,连接url和后端的桥梁
— wsgi.py : 兼容wsgi协议的web服务器入口
– db.sqlite3 : django自带的一个小型数据库文件,而且是数据库本体,一般小项目可以直接使用
– manage.py : 项目管理命令行工具
4.Django的常用命令
任务 |
命令 |
创建新项目 |
django-admin.py startproject project_name (注意: windows系统下请用django-admin startproject xxx) |
创建新应用 |
python manage.py startapp app_name (注意: 你需要先cd进入创建的项目文件夹) |
检测模型变化,生成新的数据库迁移文件 |
python manage.py makemigrations [app_label] (注意: app名字可选。如果一个项目包含多个app,而你只更改了其中一个app的模型,建议后面加入具体的app名) |
同步数据库与模型 |
python manage.py migrate |
启动服务器 |
python manage.py runserver |
创建超级用户 |
python manage.py createsuperuser |
修改用户密码 |
python manage.py changepassword username |
打开交互终端 |
python manage.py shell python manage.py dbshell(数据库交互) |
查看当前版本 |
python manage.py version |
django-admin.py和manage.py其它命令
命令 |
用途 |
python manage.py flush |
清空数据库内容,只留下空表 |
python manage.py test |
开始测试 |
python manage.py collectstatic |
搜集静态文件 |
python manage.py createcachetable |
创建缓存表 |
python manage.py check |
检测项目有没有问题 |
python manage.py inspectdb [table] |
根据已有数据库反向生成django模型。你可以选择数据表名字 |
python manage.py makemessages |
搜集所有的messages,可以生成指定文件格式如xml文件,供后期翻译 |
python manage.py sendemail [email] |
发送测试邮件 |
python manage.py showmigrations |
显示所有数据库迁移文件 |