【Django】我个人喜欢的目录结构和配置方法是… (Wǒ gèrén xǐhuān de mùlù jiégòu hé pèizhì fāngfǎ shì…)

首先

我认为有很多人希望修改Django的目录结构
我个人希望如下,因此我想分享修改方法:
– 希望按照功能(app)将JavaScript和css的静态文件整合在一起
– 希望将功能(app)整合到apps目录下
→ 默认情况下,它们位于根目录下,导致有些凌乱…
– 希望将配置文件(setting.py等)的目录名称改为config
→ 默认情况下,它们是站点名称!

我們預計的環境如下所述。

- django 3.2.10

目次

    • 目指すディレクトリ構成

 

    • setting.py の変更

 

    • manage.py の変更

 

    • asgi.py の変更

 

    • wsgi.py の変更

 

    • 参考サイト

 

    GitHub

瞄准的目录结构

应用程序集中在apps目录下,看起来整洁!
静态文件按应用程序分类整理!
配置文件的目录名改为config!

src
│  manage.py
├─apps
│  └─sample
│      │  __init__.py
│      │  apps.py
│      │  urls.py
│      │  views.py
│      ├─static
│      │  └─sample
│      │      ├─css
│      │      │   sample.css
│      │      └─js
│      │           sample.js
│      └─templates
│          └─sample
│               sample.html
└─config
     __init__.py
     asgi.py
     settings.py
     urls.py
     wsgi.py

更改 setting.py 文件.

我会逐渐对以下部分进行更改。
※仅提取必要的部分。

# インポートを追記
+ import os
+ import sys

# ※下記より「BASE_DIR = Path(__file__).resolve().parent.parent」の記述以降に追記してください

# app を apps 配下にまとめておけるように下記を追記
+ sys.path.insert(0, os.path.join(BASE_DIR, "apps"))

# wsgi の配置を config ディレクトリ配下にするため下記を変更
- WSGI_APPLICATION = 'mysite.wsgi.application'
+ WSGI_APPLICATION = 'config.wsgi.application'

# ルートの urls を config ディレクトリ配下にするため下記を追記
+ ROOT_URLCONF = 'config.urls' # 

# static を app ごとにまとめられるように下記を追記
# 本番環境では static を一纏めにするので切替られるように分岐する
+ if DEBUG == False:
+    STATIC_ROOT = os.path.join(BASE_DIR, 'static')

管理.py文件的更改

我将对以下部分进行更改。
※仅提取所需的地方。

- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

asgi.py的修改 .py de

我将对下述内容进行修改。
* 仅提取必要的部分。

- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

更改 wsgi.py 文件

我们将对以下部分进行修改。
※只摘录必要的部分。

- os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
+ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')

参考网站

・【Django】探索最佳项目配置实践 – 1. 更改设置目录名称
・Django项目结构的定制化(拆分与结构化)
・简介Django(settings.py)
・【开发效率提升】在应用开发中推荐的目录

GitHub – 代码托管网站

我会把一个可用作模板的东西放在这里
https://github.com/tsk1000/django_seed-docker

最后的结论是

我在类似于小-中规模的项目中有使用经验。
说实话,如果是这种规模,无论采取什么形式,我都能理解,所以可能没有必要太过纠结…
这种感觉像是把IDE或者工具的面板位置改变到熟悉的地方一样!

广告
将在 10 秒后关闭
bannerAds