I think that's not possible with Django without some quirks. You need to add apps to your settings.py anyway, so, if these apps are not present in your repo, it's not working, as there are imports that lead into nowhere.

Django provides really good support for creating reusable "apps" that can be used in different Django applications, if correctly done. But you have to include them hard-coded, it's not possible to create more apps that "plug" into ONE Django application and extend its functionality dynamically. And it seems you need that in your case.

So you need either a mono repo, or git submodules that need to be fetched. I solved a similar problem by building a library that adds such a plugin support to Django: https://gdaps.readthedocs.io

You can use a Django main application, and install app "plugins" that add funcationality to your app without touching the settings.py. Just install the Django/GDAPS app per pip, restart the Django server / manage migrate, and it should work.

It's not perfect ans still lacks some features, but should solve your problem.

Yours, Christian

Am 03.04.23 um 16:04 schrieb Piyush Prasad:
Why not use a mono repo?
------------------------------------------------------------------------
*From:* django-developers@googlegroups.com <django-developers@googlegroups.com> on behalf of Alex Sonar <alex.son...@gmail.com>
*Sent:* Sunday, April 2, 2023 10:21:33 PM
*To:* Django developers (Contributions to Django itself) <django-developers@googlegroups.com>
*Subject:* Re: The problem of versioning a large project.
It is about one project that includes many applications.

We would like to separate the repository specifically for front-end guest groups.

With access to parts like: views_groups, templates, dummy_data, forms_group, helpers_group, static_blob and media_blob as an example.

Now our application tier and the file structure of the project looks something like in the picture below.

 .

    ├── apps

     .     ├── .DS_Store

           ├── app_alpha

           │ ├── .git              <<<<<<<<<<<<<<<<<<<<<<<<<   git alpha

           │ └── alpha

           │       ├── __init__.py

           │       ├── admin_alpha.py

           │       ├── api_connectors

           │       ├── apps_alpha.py

           │       ├── conf_parser_alpha.py

           │       ├── controllers_groups

           │       ├── dummy_data_alpha

           │       ├── db_router_alpha.py

           │       ├── forms_group

           │       ├── helpers_group

           │       ├── media_blob_alpha

           │       ├── metadata

           │       ├── migrations

           │       ├── models_groups

           │       ├── signals_alpha.py

           │       ├── static_blob__alpha

           │       ├── templates

           │       ├── urls_alpha.py

           │       └── views_groups

           ├── app_beta

           │ ├── .git              <<<<<<<<<<<<<<<<<<<<<<<<<    git beta

           │ └──  beta

           │       ├── __init__.py

           │         …….

           ├── app_gamma

           │ ├── .git              <<<<<<<<<<<<<<<<<<<<<<<<<    git gamma

           │ └──  gamma

           │       ├── __init__.py

           │         …….

           ├── app_delta

           │ ├── .git              <<<<<<<<<<<<<<<<<<<<<<<<<    git delta

           │ └──  delta

           │       ├── __init__.py

           …..     …….

On Saturday, April 1, 2023 at 2:56:33 PM UTC+3 Jason Johns wrote:

    >Now we have organized versioning, where our project is divided
    into separate GIT repositories which are created for each application.



    why? what's the reasoning for this? django already has apps, so
    why do you need to make multiple projects for single components?
    On Friday, March 31, 2023 at 10:15:06 AM UTC-4 cha...@gmail.com wrote:


        Like Aharon, I'm not entirely certain what you mean but this line:
        > The task looks like bad practice, where we have to create a
        repository within another one.
        reminded me of git submodules, which I don't think are
        considered bad practice. Is that what you mean?
        On Thursday, March 30, 2023 at 5:17:41 AM UTC+9 Alex Sonar wrote:

            The problem of versioning a large project.

            Hi guys, I really got stuck with the challenge, with the
            design of versioning for a large project.

            Now we have organized versioning, where our project is
            divided into separate GIT repositories which are created
            for each application.

            The new necessity point is to split some of them for
            front-end and back-and developers.

            The task looks like bad practice, where we have to create
            a repository within another one.

            Or redesign the file structures of the application itself,
            to meet this requirement.


            If someone has a similar challenge or practice and helps
            me make the right decision, I will be very grateful.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/1c2df2fc-0158-4da1-a686-5f2a69435f43n%40googlegroups.com <https://groups.google.com/d/msgid/django-developers/1c2df2fc-0158-4da1-a686-5f2a69435f43n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-developers+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/PH0PR15MB5640DD26A7890FC754671486FC929%40PH0PR15MB5640.namprd15.prod.outlook.com <https://groups.google.com/d/msgid/django-developers/PH0PR15MB5640DD26A7890FC754671486FC929%40PH0PR15MB5640.namprd15.prod.outlook.com?utm_medium=email&utm_source=footer>.

--
Dr. Christian González
https://nerdocs.at

--
You received this message because you are subscribed to the Google Groups "Django 
developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/8052beb6-5714-352e-a247-53e7548c5801%40nerdocs.at.

Reply via email to