• Django里多app


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

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

    请添加图片描述

    1.

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

    # 在 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

    请添加图片描述

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

    给个赞呗~

  • 相关阅读:
    C/C++中的STL
    “远程“操作oracle数据泵impdp、expdp导入导出
    ARM学习记录1
    java-php-python-ssm-校园网上跳蚤书市系统-计算机毕业设计
    mqtt使用方法
    初学unity开发学习笔记----第一天
    (免费分享)基于ssm在线点餐
    在线图片转文字怎么转?这种方法大家可以学会
    网康科技 NS-ASG 应用安全网关 SQL注入漏洞复现(CVE-2024-2022)
    弘辽科技:拼多多商品发布被驳回是为什么?被驳回怎么办?
  • 原文地址:https://blog.csdn.net/BSCHN123/article/details/139378972