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),
]

给个赞呗~

相关推荐
24K老游20 小时前
postgres15 flink cdc同步测试
数据库
无泡汽水21 小时前
MySQL入门练习50题
数据库·mysql
JIngJaneIL21 小时前
助农惠农服务平台|助农服务系统|基于SprinBoot+vue的助农服务系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·助农惠农服务平台
云外天ノ☼21 小时前
待办事项全栈实现:Vue3 + Node.js (Koa) + MySQL深度整合,构建生产级任务管理系统的技术实践
前端·数据库·vue.js·mysql·vue3·koa·jwt认证
小光学长1 天前
基于Vue的智慧楼宇报修平台设计与实现066z15wb(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js
CodeBlossom1 天前
Spring Cache快速入门
java·数据库·spring
tuokuac1 天前
ps -ef | grep redis
数据库·redis·缓存
⑩-1 天前
如何保证Redis和Mysql数据缓存一致性?
java·数据库·redis·mysql·spring·缓存·java-ee
征尘bjajmd1 天前
Java使用okhttp发送get、post请求
java·服务器·数据库
清风6666661 天前
基于单片机的智能高温消毒与烘干系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业