django开发目录调整(django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty)

发布于:2022-12-21 ⋅ 阅读:(1090) ⋅ 点赞:(0)

0.django目录调整报错

django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.

不适当配置:密钥设置不能为空。

一:目录调整的原因

一般我们在在做开发的时候,如果使用了框架,都会对其目录,进行稍微的调整,目的在于方便管理,说的高大上一点就是解耦。

二:这里以拆分django框架为例

  ├── dreamapi/      # 根目录
       ├── logs/          # 项目运行时/开发时,日志目录
       ├── manage.py
       ├── dreamapi/      # 项目主应用,
       │    ├── apps/      # 开发者的代码保存目录,以模块[子应用]为目录保存(包)
       │    ├── libs/      # 第三方类库的保存目录[第三方组件、模块](包)
       │    ├── settings/  #(包)
       │         ├── dev.py   # 项目开发时的本地配置
       │         ├── pro.py  # 项目上线时的运行配置
       │         ├── test.py  # 测试人员使用的配置
       │    ├── urls.py    # 总路由
       │    ├── utils/     # 自己开发的脚本
       └── scripts/       # 项目测试时的脚本文件
       

三:项目启动

1. 有人会问了,你这样搞,django它同意吗,今天他同意也得...    

嗯~,我们以德扶人。如果拆分成这样,他是运行不起来的!!!

2. 接下来,我们让他动起来

方式一图标方式启动:

(1) 首先修改manage.py的配置

a. 这里的dreamapi.settings,其实就是一个路径,刚才我们一顿操作,把目录结构给拆分了一下,把原settings.py给改名叫dev.py,并且位置给移动了。djago启动是需要配置文件启动的,之前的错误,就是他找不到配置文件,所以才报错的。

b. 必须要把他现在的配置路径填对了

c 以我们现在的配置文件的名称以及路径,是这样配置的(在第8行)

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dreamapi.settings.dev')

(2) 点击绿色三角,然后点击第一个,进去

 (3) 在这个位置写上,下面一句代码(这个其实,也是手动给他配置路径)

PYTHONUNBUFFERED=1;DJANGO_SETTINGS_MODULE=dreamapi.settings.dev

 

(4) 大功告成,可以动了。

方式二 manage.py启动:

(1) 同上,修改manage.py的配置文件的路径

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dreamapi.settings.dev')

 (2)切换成manage界面,然后右键运行

运行之后,会出现以下内容

 

(3) 点击绿色三角,然后点击第一个

 (4) 在以下地方填写下面的代码

runserver 127.0.0.1:8000

 

 

或者直接填这个就行,他默认是127.0.0.1:8000

runserver

(5) 可以正常运行了

四补充:

一般我们还会做下一步操作,把当前apps文件夹的路径给它添加到,系统变量里面去

import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))

我解释一下为什么这么做,

ps:

a. 我们在目录没有调整之前,创建出来的app应用是跟主目录同级的,那么创建完app,我们在INSTALLED_APPS进行注册是没有问题的,因为此时django配置文件的BASE_DIR,将此时的路径,默认到了根目录,这个时候,注册app,django是可以找到的。

b.我们拆分django目录以后,此时BASE_DIR的目录,定位到了主目录下,也就是说此时django的默认路径为主目录,这个时候在去注册,django是找不到app应用的,他找到的是apps文件夹,找不到app应用, 原因是app应用在apps文件夹里面,django无法跨一个路径寻找。

c. 这个时候,我们必须要手动定位到apps文件夹的位置,注册的时候,django才可以找到该应用 

d .此时创建app,必须要进到apps文件夹里面,因为你在哪执行命令,django就会给你把应用创建到哪

cd dreamapi/apps

python ../../manage.py startapp app01

 e. 为什么要../../ 因为我们创建应用的时候,是完全依赖manage.py进行创建的,apps文件夹里面没有manage.py文件,我们要先找到manage.py才可以进行创建


网站公告

今日签到

点亮在社区的每一天
去签到