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

    给个赞呗~

  • 相关阅读:
    CPP代码检查工具
    STM32CUBEIDE编译库函数项目及库文件调用
    Ubuntu上安装配置Nginx
    HashMap
    微服务(SpringCloud)之配置管理及链路追踪
    字符串6——实现 strStr()
    汽车行业分论坛 | 让数据行驶在“安全道”
    在二叉树(搜索树)中找到两个节点的最近公共祖先(剑指offer)
    网络工程从头做-1
    如何写好B端产品的技术方案?
  • 原文地址:https://blog.csdn.net/BSCHN123/article/details/139378972