文章目录
一、准备环境
1.创建虚拟环境
mkvirtualenv luffy
2.安装项目基础依赖
# 1.安装Django
pip install django==2.2.2
# 2.安装djangorestframework
pip install djangorestframework
# 3.安装pymysql,或者是mysqlclient
-运气好:一把装好就用mysqlclient
-pip3 install mysqlclient
-或者使用pymysql(安装django版本超过2.0.7以上的版本, 使用mysql数据库的时候会出现异常, 我们接下来修改源码来解决这种问题)
-在配置文件中加入
import pymysql
pymysql.install_as_MySQLdb()
二、创建项目
-
前提:新建一个项目文件夹, 并进入该文件夹
cd 建立的luffy文件夹
-
执行命令创建(也可以使用pycharm创建)
django-admin startproject luffyapi
开发:使用 Pycharm 打开, 并使用你创建的虚拟环境
三、项目目录调整
1.app调整
- 把 app 统一放进某个文件夹下 : luffapi 下的 apps
- 并在 settings.py 中进行路径修改
path=os.path.join(BASE_DIR,'luffyapi','apps') # 拼接出apps的路径
sys.path.append(path) # 将apps的路径加入到项目环境变量中
- 在后期创建 app 的时候就需要先切换到 apps 的路径下进行创建
python ../../manage.py startapp [应用名称] # 注意manage.py路径的变化
2.调整后的目录
3.配置文件的调整
- 设置两套配置文件
dev.py # 开发阶段使用的配置
pro.py # 生产环境(上线)使用的配置
- 然后在项目同名路径下创建一个 settings 文件夹, 将上面两个配置文件放进去
- 重新设置配置文件后需要更新
manage.py
和wsgi.py
这两个文件
# manage.py : 开发阶段的项目入口文件
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings') # 将这行修改
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.dev')
# wsgi.py : 生产环境的项目入口文件
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings') # 将这行修改
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'luffyapi.settings.pro')
4.启动项目报错
-
使用 Pycharm 提供的快捷启动项目的绿色三角形按钮报错
-
点击图中绿色按钮做点LUFFYAPI进行编辑 : —> Templdates --> Python --> Environment variables输入:
DJANGO_SETTINGS_MODULE=luffyapi.settings.dev
四、后台本地化调整
- 在dev.py配置文件中修改
LANGUAGE_CODE = 'zh-hans' # 使用汉字
TIME_ZONE = 'Asia/shanghai' # 亚洲上海时区
USE_I18N = True
USE_L10N = True
USE_TZ = False # 不使用UTC时区
五、环境变量
1.开发dev.py中路径的处理
问题: 应用的创建, dev.py中注册路径无法生效了
# 先切换到apps目录, 再执行以下命令
cd luffyapi\apps\
# 创建应用: 提示, startapp在哪执行,就把app创建在哪
python ../../manage.py startapp home
python ../../manage.py startapp user
dev.py中配置
# 1.导入sys、os模块
import os
import sys
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 2.把当前项目中与项目名同名的小的luffyapi的这个路径加入到环境变量。 目的: 提供INSTALLED_APPS中应用的注册, 在项目启动时会被项目加载。
# 3.把apps的路径加入到环境变量。目的: 提供在应用下导入语法 from views import xxx
path = os.path.join(BASE_DIR, 'apps')
print(path)
sys.path.append(path)
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 4.现在就可以将让刚刚注册的应用生效了
'user',
'home',
]
2. 解决不在项目中导入的飘红的问题
提示: 在apps中的应用下, 使用from viwes import xxx
这种导入就是会飘红,但是导入没有错误,只是不在项目中的导入, 就会出现这种问题