For what it's worth, this is the (general) layout I've used for the past 8+
years of my professional Django development.

Arthur

On Wed, 20 Apr 2022 at 15:22, Olivier Dalang <olivier.dal...@gmail.com>
wrote:

> +1 for Adam's suggestion, I use it as well and like it very much.
>
> > root folder
>     - manage.py
>     - ...
>     > myproject
>         - __init__.py
>         - settings.py
>         - urls.py
>         - ...
>         > myapp
>             - __init__.py
>             - models.py
>             - ...
>
> Pros:
> - everything is well namespaced under myproject (`myproject.settings`,
> quite straightforward)
> - makes it clear that `settings.py`, `urls.py`, etc. concern the project
> as a whole, and not just an app.
> - also nice in settings.INSTALLED_APPS (`myproject.myapp` makes it clear
> that myapp is part of this project)
> - it leaves the root level for stuff like .gitignore, db.sqlite, etc, so
> the actual source stays clean from such files.
> - having a parent package allows (does not require) relative imports
> across modules of the same project, which more clearly conveys that such
> apps are tightly coupled
> - with manage.py still in the root folder, you don't need to cd into any
> folder to start working
>
> I use it all the time.
>
> Cheers,
>
> Olivier
>
>
>
>
> Le mer. 20 avr. 2022 à 18:50, Tom Carrick <t...@carrick.eu> a écrit :
>
>> I prefer Adam's suggestion in the forum post as it lets you namespace
>> everything under your project name nicely and avoids package name
>> collisions, although it doesn't solve the problem of having two directories
>> with the same name by default.
>>
>> That said, either would be an improvement on what we have so I'm in
>> favour of either approach over doing nothing.
>>
>> Cheers,
>> Tom
>>
>> On Wed, 20 Apr 2022 at 16:49, John M <john-dja...@martinhome.org.uk>
>> wrote:
>>
>>> I do exactly this for every new Django project, so it's +1 from me as
>>> well.
>>>
>>> John
>>> On 20/04/2022 12:01, da...@springbourne-tech.com wrote:
>>>
>>> +1 for me - this would be really useful.
>>>
>>> On Monday, April 18, 2022 at 9:02:02 PM UTC+1 pyt...@ian.feete.org
>>> wrote:
>>>
>>>> Hi Tim,
>>>>
>>>> This feels like a good idea to me.
>>>>
>>>> Regards,
>>>> Ian
>>>>
>>>> On Mon, 18 Apr 2022 at 18:17, Tim Allen <fli...@peregrinesalon.com>
>>>> wrote:
>>>>
>>>>> Greetings, friends!
>>>>>
>>>>> I've issued a PR that makes two changes to the `startproject` template:
>>>>>
>>>>>    - instead of putting configuration files such
>>>>>    as `settings.py`, `wsgi.py`, and the
>>>>>    root `urls.py` in `my_project/my_project`, they are created
>>>>>    in `my_project/config`
>>>>>    - start the project with a custom User model app, `users`
>>>>>
>>>>> Over the years, I've taught or tutored over 100 Djangonauts starting
>>>>> their first project. Having to distinguish between two directories with 
>>>>> the
>>>>> same name is a constant pain point in the teaching process - "cd into
>>>>> my_project ... no, the other one!"
>>>>>
>>>>>    - The `config` option seemed to be the consensus from this thread
>>>>>    in the forum: Django New Project Structure/Name - Using Django -
>>>>>    Django Forum (djangoproject.com)
>>>>>    
>>>>> <https://forum.djangoproject.com/t/django-new-project-structure-name/9987>
>>>>>    - Ticket: https://github.com/django/django/pull/15609
>>>>>
>>>>> It is sometimes better to show rather than tell, so following our own
>>>>> documentation and including a custom User model with the initial project
>>>>> template reinforces the best practice that we explicitly point out in the
>>>>> documentation.
>>>>>
>>>>>    - Ticket:  #27909 (Use AUTH_USER_MODEL in startproject template) –
>>>>>    Django (djangoproject.com)
>>>>>    <https://code.djangoproject.com/ticket/27909>
>>>>>    - Avoids ever having this come up again:
>>>>>    
>>>>> https://www.caktusgroup.com/blog/2019/04/26/how-switch-custom-django-user-model-mid-project/
>>>>>
>>>>> Here's a link to the PR: https://github.com/django/django/pull/15609
>>>>>
>>>>> My apologies for not starting with a discussion first. I'm an
>>>>> infrequent contributor to the Django codebase!
>>>>>
>>>>> Regards,
>>>>>
>>>>> Tim
>>>>>
>>>> --
>>>>> 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-develop...@googlegroups.com.
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/django-developers/33cb49d0-2469-47c0-920e-9501245c5a27n%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/django-developers/33cb49d0-2469-47c0-920e-9501245c5a27n%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/a184bfc1-e3fb-4bd7-8378-292194e52595n%40googlegroups.com
>>> <https://groups.google.com/d/msgid/django-developers/a184bfc1-e3fb-4bd7-8378-292194e52595n%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/ffb8a027-d5c7-53b4-1ea7-c9f687b8c80d%40martinhome.org.uk
>>> <https://groups.google.com/d/msgid/django-developers/ffb8a027-d5c7-53b4-1ea7-c9f687b8c80d%40martinhome.org.uk?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/CAHoz%3DMaFmJYbV2mgek4WivuBepJgt46d6cgcD-Vtp2MBspcFnA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/django-developers/CAHoz%3DMaFmJYbV2mgek4WivuBepJgt46d6cgcD-Vtp2MBspcFnA%40mail.gmail.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/CAExk7p1tnn5xx9bQEKfbZMjdajJ2TSH39tVWujSgk3vtOnCTYA%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-developers/CAExk7p1tnn5xx9bQEKfbZMjdajJ2TSH39tVWujSgk3vtOnCTYA%40mail.gmail.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/CA%2BX4dQQE84ithzKDh%3DwReOJGGZ9ZtOMq6BfW8Cpb7%3DLyuSAp7g%40mail.gmail.com.
  • I... Tim Allen
    • ... Ian Foote
      • ... da...@springbourne-tech.com
        • ... John M
          • ... Tom Carrick
            • ... Olivier Dalang
              • ... Hrushikesh Vaidya
              • ... Arthur Pemberton
                • ... Adrian Torres Justo
                • ... Sandro Covo
                • ... Albert
                • ... ome chukwuemeka
                • ... Ian Foote
                • ... Tim Allen
                • ... Michael
      • ... Hazho Human
    • ... 'Tobias McNulty' via Django developers (Contributions to Django itself)

Reply via email to