Luffy后台Django项目创建

一、准备环境

1.创建luffy项目虚拟环境

mkvirtualenv luffy

2.安装项目基础依赖

# 1.安装Django
pip install django==3.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 打开, 并使用你创建的虚拟环境

三、项目目录调整

重构项目目录

    ├── luffyapi
        ├── logs/                # 项目运行时/开发时日志目录 - 包
        ├── manage.py            # 脚本文件
        ├── luffyapi/              # 项目主应用,开发时的代码保存 - 包
            ├── apps/              # 开发者的代码保存目录,以模块[子应用]为目录保存 - 包
            ├── libs/              # 第三方类库的保存目录[第三方组件、模块] - 包
            ├── settings/          # 配置目录 - 包
                ├── dev.py       # 项目开发时的本地配置
                └── prod.py      # 项目上线时的运行配置
            ├── urls.py            # 总路由
            └── utils/             # 多个模块[子应用]的公共函数类库[自己开发的组件]
        └── scripts/               # 保存项目运营时的脚本文件 - 文件夹

目录调整说明

  • 把 app 统一放进某个文件夹下 : luffapi 下的 apps
  • 在后期创建 app 的时候就需要先切换到 apps 的路径下进行创建
  • 然后在项目同名路径下创建一个 settings 文件夹,将settings.py拖到里面去,改名为dev.py

调整后的目录

目录调整后运行会报错,原因是找不到配置文件了——django项目运行,第一步就要加载配置文件,所以要对项目入口文件进行修改

配置文件的修改

# 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')

image-20210506194350385

image-20210506194428809

启动项目报错处理

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

  • image-20210506194649842

  • 报错提示为:CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False

  • 解决方案——按下图进行操作

  • 点击图中Edit Configurations,重新设置环境变量

    image-20210506194730212

  •  

    重新添加之后会自动关联环境变量

  •  

 四、app的创建与注册

创建app

注意:创建 app 的时候就需要先切换到 apps 的路径下进行创建

python ../../manage.py startapp [应用名称]  # 注意manage.py路径的变化

注册app

-首先在app下的apps.py 中修改name name = 'luffy_api.apps.home'

-以后想直接写app名字,需要添加环境变量

环境变量

# 把当前项目中与项目名同名的小的luffyapi的这个路径加入到环境变量。 目的: 提供INSTALLED_APPS中应用的注册, 在项目启动时会被项目加载。
# 把apps的路径加入到环境变量。目的: 从app名开始导入
from pathlib import Path
import os
import sys


BASE_DIR = Path(__file__).resolve().parent.parent    # dev.py在settings文件夹下,所以此时的BASE_DIR为小luffy

apps_path = os.path.join(BASE_DIR,'apps')    
sys.path.insert(0,apps_path)    # 将apps目录加入环境变量

sys.path.insert(0, BASE_DIR)    # 把BASE_DIR也加入到环境变量,以后直接从小路飞开始导起即可

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 4.现在就可以将让刚刚注册的应用生效了
    'user',
    'home',
]

解决不在项目中导入的飘红的问题

提示: 在apps中的应用下, 使用from viwes import xxx这种导入就是会飘红,但是导入没有错误,只是不在项目中的导入, 就会出现这种问题

image-20210507161646944

五、后台本地化调整

  • 在dev.py配置文件中修改
LANGUAGE_CODE = 'zh-hans'    # 使用汉字
TIME_ZONE = 'Asia/shanghai'  # 亚洲上海时区
USE_I18N = True
USE_L10N = True
USE_TZ = False  # 不使用UTC时区
 
posted @ 2023-02-27 17:39  莫~慌  阅读(35)  评论(0编辑  收藏  举报