Django项目开发流程
本文以Django项目的准备工作为主。
1.虚拟环境
1.1 构建虚拟环境
mkvirtualenv -p python3 【环境名】
1.2 使用虚拟环境
方法一:
workon 【环境名】
方法二:
source ~/.virtualenvs/【环境名】/bin/activate
1.3 退出虚拟环境
deactivate
2.pip使用
2.1 查看已经安装了哪些包
pip list
2.2 安装包
pip install 【包名】
安装MySQL客户端引擎
pip install mysqlclient
3.Pycharm配置
3.1 安装第三方库:
File -> Setting -> Project:项目名 -> project Interpreter
点下面窗格,点右边+号
3.2 配置远程环境
注意:PyCharm 5.0.3创建Django项目目前不能调用远程环境,会提示“please choose a local interpreter”,所以这里不启用远程环境
配置远程解释器:
File -> Settings... -> Project:项目名 -> project Interpreter -> 右边齿轮 -> Add Remote -> SSH Credentials
虚拟环境路径:
/home/用户名/.virtualenvs/虚拟环境名/bin/python3
3.3 配置远程部署
Tools -> Deployment -> Configration... -> +号新建配置 -> Connection的Type选择 SFTP -> SFTP的host和port输入SSH配置,Root path输入远端路径
Mappings中,Local path 为本地路径,Deployment path为相对于Root path的远端路径
3.4 自动远程部署:
Tools -> Deployment -> Options ,Upload changed files automatically to the default server选择On explicit save action (Ctrl + S),勾选Upload external changes
3.5 手动远程部署:
Tools -> Deployment -> Options ,Upload changed files automatically to the default server选择Never
在项目最顶层文件夹点击右键,选择 Upload to
3.6快速打开SSH窗口:
Tools -> Start SSH session
4.Django项目
Tools -> Run manage.py Task... 打开manage.py窗口
在一般命令行窗口中,manage.py相关指令需要输入完整,例如:
python manage.py startapp testapp
在manage.py窗口中,相关指令只需输入参数部分即可,例如:
startapp testapp
4.1 新建APP
startapp 【APP名】
4.2 创建超级用户
createsuper
4.3 更改model配置
makemigrations
在你改动了 model.py的内容之后执行下面的命令:
python manage.py makemigrations
相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,
比如0001_initial.py, 但是这个改动还没有作用到数据库文件。
4.4 将model的改动同步到数据库
migrate
5.Django配置
5.1 调试模式
DEBUG = True #打开调试模式,可以看到程序出错时的调用堆栈信息 DEBUG = False #关闭调试模式
5.2 允许所有IP的客户端访问
ALLOWED_HOSTS = ["*"]
5.3 添加加载的APP
INSTALLED_APPS 中追加自己的APP名,如果不添加则不能正确使用model等模块
5.4 添加中间件
MIDDLEWARE 中追加自己的中间件
5.5 模板上下文
TEMPLATES 中追加自己的上下文
5.6 数据库配置
DATABASES 中配置,以MySQL为例:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '192.168.37.128', 'PORT': '3306', 'USER': 'test', 'PASSWORD': '123456', 'NAME': 'msgs', } }
注意:要提前用pip安装mysqlclient,另外要在数据库服务器中提前创建好对应的数据库
5.7 系统语言
LANGUAGE_CODE = 'en-us' #英文 LANGUAGE_CODE = 'zh-Hans' #简体中文 LANGUAGE_CODE = 'zh-Hant' #繁体中文
5.8 静态文件存放的路径
静态文件:CSS, JavaScript, Images
STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static') ]
5.9 用户上传的文件存放的路径
MEDIA_ROOT = "media/"
6.项目实现
6.1 model设计
model编写完成之后,要makemigrations和migrate,同步到数据库
6.2 view设计和模板设计
6.3 url配置
6.4 开发自测验证
7.测试部署