在 Django 里的某一个项目,里面得包含很多 App (功能),那么如何在该项目里管理这么多App呢?
先说明下背景:未先创建 apps 文件夹来存各个app文件夹,直接在项目文件目录里创建各个app。为了便于管理,得将各个app放到 apps 文件夹里,看下放的截图。
1.
将各个app放到 apps 文件夹里之后,得在对应的 app 里的 apps.py 文件里做修改,类似这样
# 在 apps.py 文件from django.apps import AppConfigclass App01Config(AppConfig):default_auto_field = 'django.db.models.BigAutoField'# 得添加 apps, 这个 apps 代表是 “apps文件夹”name = 'apps.app01'
2.
在项目的文件夹里的 settings.py 做修改,这样调用各个app
# 在 settings.py 文件里from pathlib import Path
import os# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent# 添加下面两行
import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))....INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app01.apps.App01Config', # 添加这一行'assetManagement.apps.AssetmanagementConfig', # 添加这一行
]
3.
在 urls.py 文件里做下修改
# 在 urls.py 文件修改from django.contrib import admin
from django.urls import path
from apps.app01 import views as apps_views # 得添加 apps, 这样才能找到对应的views.py。并且得创建一个名,以防 views.py 名称搞混乱
from apps.assetManagement import views as am_views # 得添加 apps, 这样才能找到对应的views.py。并且得创建一个名,以防 views.py 名称搞混乱urlpatterns = [#path('admin/', admin.site.urls),path('demo/', apps_views.demo),path('ceshi/', am_views.ceshi),
]
给个赞呗~