IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> django开发目录调整(django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty) -> 正文阅读

[Python知识库]django开发目录调整(django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty)

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才可以进行创建

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-01-28 11:52:10  更:2022-01-28 11:52:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:48:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码