📌  相关文章
📜  django设置文件——一步一步解释

📅  最后修改于: 2022-05-13 01:54:24.923000             🧑  作者: Mango

django设置文件——一步一步解释

一旦我们创建了 Django 项目,它就会带有预定义的目录结构,其中包含以下文件,每个文件都有自己的用途。

举个例子

// Create a Django Project "mysite" 
django-admin startproject mysite

cd /pathTo/mysite
// Create a Django app "polls" inside project "mysite"
python manage.py startapp polls

在项目“mysite”的终端/CMD目录结构上的这些命令将是:

mysite           <-- BASE_DIR      
    --> mysite                 
            -> __init__.py
            -> asgi.py
            -> settings.py    <-- settings.py file 
            -> urls.py
            -> wsgi.py
    --> manage.py
    --> polls

关于 settings.py 文件的见解

Django 设置文件包含 Django 项目的所有配置。本文将讨论 Django 的 settings.py 文件的要点。
设置文件只是一个带有模块级变量的Python模块。

BASE_DIR

BASE_DIR 指向项目的顶层层次,即mysite ,我们在项目中定义的任何路径都是相对于 BASE_DIR 的。要使用 BASE_DIR 我们必须使用Python提供的 os 模块。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

调试

在开发中出现错误是非常明显的。编写一个我们不会遇到任何错误的程序是没有乐趣的。但有时处理错误非常忙碌。 Django 提供了一个内置调试器,它使开发人员的生活变得非常轻松。我们可以通过这样做来使用它:

DEBUG = True  // It is Default value and is preferred in only Development Phase.

在生产中,首选DEBUG = False

ALLOWED_HOSTS

ALLOWED_HOSTS 是包含所有可以运行 Django 项目的域地址的列表。

INSTALLED_APPS

在本节中,我们将提到将在 Django 项目中使用的所有应用程序。以前我们进行了一个应用程序投票,我们必须告诉 Django 它的存在为此必须放入 INSTALLED_APPS:

INSTALLED_APPS = [
        // Some preloaded apps by Django,
        'polls', // don't forget to quote it and also commas after every app
]

数据库

Django 官方支持以下数据库:

  • PostgreSQL
  • 玛丽亚数据库
  • MySQL
  • 甲骨文
  • SQLite <– 默认情况下

DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }

还有一些第三方提供的数据库后端。
这是使用 PostgreSQL 的示例

DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql',
            'NAME': YOUR_DB_NAME,
            'USER': USERNAME,
            'PASSWORD': PASSWORD_FOR_DB,
            'HOST': 'localhost'  // in Development.
        }
    }

网址变量

URL 变量是相对于 BASE_DIR 的。这些变量用于存储媒体文件或静态文件。
注意:在父目录中创建静态和媒体文件夹。

MEDIA_URL

MEDIA_URL 是 BASE_DIR 的相对路径。此变量用于存储媒体文件。

MEDIA_URL= '/media/'

STATIC_URL

STATIC_URL 是 BASE_DIR 的相对路径。此变量用于存储静态文件。

STATIC_URL = '/static/'

根变量

ROOT 变量是绝对路径。这些变量用于检索媒体文件或静态文件。

MEDIA_ROOT

MEDIA_ROOT 是绝对路径。此变量用于检索媒体文件。

MEDIA_ROOT= os.path.join(BASE_DIR, 'media')

静态根

STATIC_ROOT 是绝对路径。此变量用于检索静态文件。

STATIC_ROOT= os.path.join(BASE_DIR, 'static')