04.luffy后台-Django项目创建

一、准备环境

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.调整后的目录

luffy后台-Django项目创建_Django

3.配置文件的调整

  • 设置两套配置文件
dev.py  # 开发阶段使用的配置
pro.py  # 生产环境(上线)使用的配置
  • 然后在项目同名路径下创建一个 settings 文件夹, 将上面两个配置文件放进去
  • 重新设置配置文件后需要更新 manage.pywsgi.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')

luffy后台-Django项目创建_Django教程_02

luffy后台-Django项目创建_Django_03

4.启动项目报错

  • 使用 Pycharm 提供的快捷启动项目的绿色三角形按钮报错

    luffy后台-Django项目创建_Django_04

  • 点击图中绿色按钮做点LUFFYAPI进行编辑 : —> Templdates --> Python --> Environment variables输入:

    luffy后台-Django项目创建_Django教程_05

    DJANGO_SETTINGS_MODULE=luffyapi.settings.dev
    

    luffy后台-Django项目创建_Django教程_06

四、后台本地化调整

  • 在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这种导入就是会飘红,但是导入没有错误,只是不在项目中的导入, 就会出现这种问题

luffy后台-Django项目创建_Django教程_07