Django里多app

在 Django 里的某一个项目,里面得包含很多 App (功能),那么如何在该项目里管理这么多App呢?

先说明下背景:未先创建 apps 文件夹来存各个app文件夹,直接在项目文件目录里创建各个app。为了便于管理,得将各个app放到 apps 文件夹里,看下放的截图。

1.

将各个app放到 apps 文件夹里之后,得在对应的 app 里的 apps.py 文件里做修改,类似这样

python 复制代码
# 在 apps.py 文件

from django.apps import AppConfig

class App01Config(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
	# 得添加 apps, 这个 apps 代表是 "apps文件夹"
    name = 'apps.app01'

2.

在项目的文件夹里的 settings.py 做修改,这样调用各个app

python 复制代码
# 在 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 文件里做下修改

python 复制代码
# 在 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),
]

给个赞呗~

相关推荐
yuzhiboyouye7 分钟前
所有的 SQL 都要经过 Explain 优化,是什么意思
数据库·sql
洛水水10 分钟前
Redis 实现限流功能的几种方法
数据库·redis·缓存
l1t21 分钟前
DeepSeek总结的postgresql 数据分析师 vs width_bucket()
数据库·postgresql
米高梅狮子22 分钟前
Redis
数据库·redis·mysql·缓存·docker·容器·github
dinl_vin26 分钟前
FastAPI 系列 ·(四):数据库集成——SQLAlchemy 2.0 异步 ORM 与 Alembic 迁移
java·数据库·fastapi
坚定信念,勇往无前1 小时前
electron-vite 安装better-sqlite3
javascript·数据库·electron
大明者省1 小时前
Ubuntu22.04 宝塔面板与 XFCE 远程桌面端口兼容性分析
运维·服务器·数据库·笔记
liudanzhengxi2 小时前
巧用ULN2003A轻松扩展单片机IO口
数据库·mongodb
Teable任意门互动2 小时前
深度解析:AI 赋能开源多维表格,实现企业全场景数据整合与高效应用
数据库·人工智能·低代码·信息可视化·开源·数据库开发