项目 - 后台搭建
一:环境准备
-
pip换源
点这里换源详细介绍
pip3
下载在国外,比较慢,使用豆瓣源
我们这里只需要:- 来到
C:\Users\oldboy\AppData\Roaming
- 新建
pip.ini
[global] index-url = http://pypi.douban.com/simple [install] use-mirrors =true mirrors =http://pypi.douban.com/simple/ trusted-host =pypi.douban.com
linux
和mac
用户家路径新建pip.conf
[global] index-url = http://pypi.douban.com/simple [install] use-mirrors =true mirrors =http://pypi.douban.com/simple/ trusted-host =pypi.douban.com
- 以后再使用
pip
安装,走的是豆瓣源
- 来到
-
创建虚拟环境
点这里虚拟环境详细介绍-
路飞项目用
django2.0.7
, 公司老项目用的1.11.9
,如果都再系统解释器装,django
版本需要不停安装卸载 -
windows
中pip3 install virtualenv pip3 install virtualenvwrapper-win
-
配置环境变量(原来用pycharm创建的虚拟环境都放在了项目根路径下)
配一个环境变量:变量名:WORKON_HOME
变量值D:\Virtualenvs
现在放在了D:\Virtualenvs
同步配置信息:
去向Python3的安装目录
=>Scripts
文件夹 =>virtualenvwrapper.bat
=> 双击 -
使用如下命令
mkvirtualenv -p python3 luffyapi
# 基于python3创建出一个虚拟环境luffyapi,放在d:\Virtualenvs -
使用命令
workon
# 查看目前有哪几个虚拟环境
workon luffyapi
# 使用luffyapi
deactivate
# 退出当前虚拟环境 -
导出项目依赖模块(第三方模块导出)
pip freeze >req.txt
-
- 以后上线,项目大概率跑在虚拟环境中
- pip导入、导出第三方依赖包
点这里详细介绍
二:项目构建
1. 虚拟环境 和 依赖准备
① 创建虚拟环境LuffyAPI
mkvirtualenv LuffyAPI
② 切换到虚拟环境LuffyAPI
workon LuffyAPI
③ 安装基础依赖
pip install djangorestframework==3.10.0
pip install django==2.0.7
pip install pymysql
2. 项目创建
① 切换到需要创建项目的路径
cd [目标路径]
② 创建Django项目
django-admin startproject LuffyAPI
3. 目录结构更改
① 目录结构
② 更改过程
- 在根目录
LuffyAPI
下创建logs
文件夹、scripts
文件夹 - 在子目录
LuffyAPI
下创建apps
文件夹、libs
文件夹、settings
文件夹 - 将子目录
LuffyAPI
下的settings.py
移动到settings
文件夹中,并重命名为dev.py
- 将
dev.py
复制一份,重命名为pro.py
4. 修改manage.py
和wsgi.py
manage.py
# 修改第8行
def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'LuffyAPI.settings.dev')
...
wsgi.py
# 修改第14行
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'LuffyAPI.settings.dev')
5. 创建APP
因为已经更改过了目录结构,创建APP
已经不能在原路径下创建了,需要到子目录LuffyAPI
下的apps
中创建
# 切换到 子目录LuffyAPI 下的 apps (Windows系统是\,Linux和Mac是/)
cd LuffyAPI\apps\
# 创建4个APP
python ../../manage.py startapp course
python ../../manage.py startapp home
python ../../manage.py startapp order
python ../../manage.py startapp user
6. 设置路径
① 修改dev.py
import sys
# 让项目下的子LuffyAPI作为根路径
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR) # 把该路径添加到环境变量,可以直接导入子LuffyAPI的文件了
sys.path.append(os.path.join(BASE_DIR, 'apps')) # 把apps加入到环境变量
② 将子LuffyAPI
文件夹作为Source Root
(便于PyCharm提示)
③ 将apps文件夹作为Source Root
(便于PyCharm提示)
- 成功之后,文件夹都会变成蓝色
7. 注册APP
INSTALLED_APPS = [
...
'course',
'home',
'order',
'user'
]
8. 数据库配置
一:创建数据库
- 登录
mysql -u root -p [密码]
- 创建数据库
create database luffy default charset=utf8;
- 查看用户
select user,host,password from mysql.user;
5.7之后的版本
select user,host,authentication_string from mysql.user;
二:为指定数据库配置指定账户
为了增加数据库的安全性,单独创建1个用户(任何人都可以远程连接),该用户只对这个库有权限,没有其他权限
1. 配置任意IP都可以连入数据库的账户(配置1个账户:luffy,只对luffy数据库有权限)
grant all privileges on luffy.* to 'luffy'@'%' identified by 'Luffy123?';
2. 由于数据库版本的问题,可能本地还连接不上,就给本地用户单独配置
grant all privileges on luffy.* to 'luffy'@'localhost' identified by 'Luffy123?';
3. 刷新权限
flush privileges;
4. 账号密码(只能操作luffy数据库的账户)
数据库 | luffy |
---|---|
账号 | luffy |
密码 | Luffy123? |
5. 测试连接
格式:mysql -h [IP地址] -u [用户名] -p[密码]
mysql -h 127.0.0.1 -u luffy -pLuffy123?
三:Django中的数据库配置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'luffy',
'USER': 'luffy',
'PASSWORD': 'Luffy123?',
'HOST': '[本机IP]',
'PORT': 3306
}
}
import pymysql
pymysql.install_as_MySQLdb()
9. 国际化配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
10. 修改PyCharm配置
① 点击左上角下拉 - Edit Configurations...
② 将Environment variables
中的内容替换成如下内容
PYTHONUNBUFFERED=1;DJANGO_SETTINGS_MODULE=LuffyAPI.settings.dev
11. 删除dev.py
中的TEMPLATE
配置
- 可删可不删
- Django2.2之前可以删除,Django2.2之后删除会报错,需要一同删除其他关联文件