Django 工作目錄結構的最佳實踐

Vaibhav Vaibhav 2021年6月29日
Django 工作目錄結構的最佳實踐

Django 是一個出色的基於 Python 的開源 Web 開發框架,你可以使用它來建立全棧 Web 應用程式。由於它是一個框架,因此最初可以預期專案中有許多檔案。對於初學者來說,一開始可能會讓人不知所措,但沒有什麼可擔心的;隨著時間的推移,一切都會變得簡單。

Web 應用程式有兩個方面:開發和生產。與生產端相比,開發端有不同的設定。Django 應用程式有許多資料夾,例如 staticmediatemplates 等。由於 Django 已經存在一段時間了,你需要了解 Django 工作目錄結構的最佳實踐,以便在這方面取得更成功的專案區域。我們將在本文中討論這些方法,請繼續閱讀!

Django 目錄結構

Django 專案的目錄結構應如下所示:

Project Folder/
    .gitignore    
    LICENSE.rst or LICENSE.md
    Documentation/
    README.rst or README.md
    environment
    requirements.txt
    MyProject/
        manage.py
        media/
        MyProject/
            __init__.py
            settings/
                __init__.py
                base.py
                development.py
                production.py
                .env
            urls.py
            wsgi.py
        AppOne/
            static/
                AppOne/
            templates/
                AppOne/
            urls.py
            views.py
            models.py
        AppTwo/
            static/
                AppTwo/
            templates/
                AppTwo/
            urls.py
            views.py
            models.py
        AppThree/
            static/
                AppThree/
            templates/
                AppThree/
            urls.py
            views.py
            models.py

Django 根資料夾

根資料夾 Project Folder 包含 Django 專案和與該專案相關的所有其他檔案,例如 licenseREADMEenvironmentrequirements.txt.gitignoreDocumentation or Docs

Django 專案資料夾

在 Django 專案 MyProject 中,應該有 manage.py 檔案、media 資料夾、包含 settings.py 檔案的 MyProject 資料夾和 Django 應用程式。

Django 專案設定資料夾

預設情況下,Django 為我們提供了一個 settings.py 檔案和一些其他重要檔案,例如 urls.pywsgi.py 等。settings.py 檔案包含用於生產和發展。因此,對於更重要的專案,它的長度可以增加。

因此,將設定拆分為各自的檔案是一個好主意。base.py 檔案包含適用於開發和生產的設定。development.py 檔案包含所有適用的開發設定,而 production.py 包含所有生產設定。

開發端和生產端可以有不同的資料庫設定、密碼驗證設定、電子郵件設定、支付設定、API 金鑰和其他配置。

如果你使用 Python Decouple 來儲存敏感資料,.env 檔案也應該在這個資料夾中。

Django 應用程式

每個 Django 應用程式都有一個 static 資料夾和一個 templates 資料夾。在這些資料夾中,將有另一個以應用程式名稱命名的資料夾。在這些資料夾中,我們將放置所有靜態檔案和模板。

這種方法允許我們擁有多個具有相同名稱的檔案。例如,每個應用程式可能有一個 index.html 檔案和一個 style.css,訪問它們會變得更容易。

----------
HTML Files
----------
{% url 'AppOne/index.html' %}
{% url 'AppTwo/index.html' %}
{% url 'AppThree/index.html' %}

---------
CSS Files
---------
{% static 'AppOne/style.css' %}
{% static 'AppTwo/style.css' %}
{% static 'AppThree/style.css' %}
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub