目录
1.环境参数
- python 3.7
- mysql 5.7
- pycharm 社区版
- django 2.2.16
- 操作系统 win10
请确保python3.7和MySQL已经安装在win10系统中
2.搭建顺序
2.1配置虚拟环境
- 创建文件夹,文件夹包含项目文件my_blog和虚拟环境目录venv
D:\django_project\myblog - 输入 cmd 并按回车键,弹出系统命令行,而且文件夹位置就是我们刚创建的 myblog
如下图
- 输入 python -m venv venv(第一个venv是命令 ,第二个venv是文件夹名称),并回车
然后myblog文件夹里面就有了环境venv
- 进入虚拟环境 继续刚才命令行输入 venv\Script\activate.bat
因为打开的是真实存在的目录,
所以可以只输入单词的前几个字母并按Tab键就可以自动补全单词。
按回车键如下
前面带个(venv),就表示进入虚拟环境
- 安装django==2.2.16
pip install django==2.2.16
如下图安装成功,关于pip工具黄色提示,可以更新下版本
- 更新pip版本如下
python -m pip install --upgrade pip
注意:
cmd命令行的复制快捷键是 Ctrl+Shift+insert;
粘贴快捷键 Shift+insert
更新完成如下图
- 创建django项目 my_blog
django-admin startproject my_blog
如下图:
查看文件夹myblog已经创建好my_blog项目和venv
- 运行django项目 ,运行项目必须先进入项目根目录
cd my_blog
然后再输入命令如下
python manage.py runserver
按回车如下图:
浏览器输入地址 http://127.0.0.1:8000/ ,结果如下
- 安装mysql
首先关闭启动的项目 ,按 Ctrl+C 关闭
然后继续在虚拟环境安装mysql模块,这里有两个pymysql和mysqlclient。
django==2.2.x版本有个pymysql的bug,运行会报错需要改源码,所以推荐安装mysqlclient。如果mysqlclient安装不了再去安装pymysql
这是pymysql错误内容
AttributeError: 'str' object has no attribute 'decode'
安装mysqlclient
pip install mysqlclient
如下图:
3.生成requirements.txt
- 作用
用于项目在部署的时候,本质是项目迁移到另外一台电脑或服务器,需要安装之前我们自己装的pip依赖包;
生成requirements.txt可以在换电脑之后运行该文件就可以自动安装pip依赖包。
- 生成requirements.txt
pip freeze > requirements.txt
- 使用requirements.txt
pip install -r requirements.txt
4.pycharm打开创建的项目并配置使用存在的venv虚拟环境
-
打开社区版 pycharm ,选择 打开项目,并选择我们刚才创建的 my_blog
-
pycharm左上角 file 选择 settings–> project:my_blog,选择 Python Interprter,右边点击添加我们之前创建的虚拟环境文件venv,确定。
5.配置运行环境
在右上角位置点击 Edit Configurations,如下图:
然后做出如下配置,打开如下图:
6.settings.py的通用配置
6.1修改语言和时区
在项目根目录的settings.py文件中,
# LANGUAGE_CODE = 'en-us'
# 设置中文
LANGUAGE_CODE = 'zh-hans'
# TIME_ZONE = 'UTC'
# 设置中国时区
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
# False表示不使用utc时间,使用的是本地时间
USE_TZ = False
做出如下修改:
6.2配置静态文件存放目录static
首先在项目根目录创建普通文件夹 static,
然后在settings.py配置如下
STATIC_URL = '/static/'
STATICFILES_DIRS = [
# 就是你的静态文件夹路径
os.path.join(BASE_DIR, 'static'),
]
如下图:
static文件夹用于存放前台页面需要引入的 js/css 等(如过不想引入,则可CDN在线引入js/css)
6.3配置模板文件夹templates
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
如下图:
6.4mysql连接配置
修改根目录下settings.py,如下:
# Database
# https://docs.djangoproject.com/en/2.2/ref/settings/#databases
# DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
# }
# }
# mysql的数据库连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': "my_blog",# 数据库名
"USER": "root",# 用户名
"PASSWORD": "123456",# 密码
"HOST": "localhost",# 主机名
"PORT": 3306,# 端口号
}
}
7.结束
开发环境搭建完成,后面就是创建app模块和通过模板生成数据模型和数据库表,请自行进行,也可以参考:
Pycharm社区版创建app并调试运行