Opened 16 months ago
Last modified 6 weeks ago
#34976 assigned Cleanup/optimization
Feature request: startproject and startapp should provide feedback — at Version 1
Description (last modified by ) ¶
Initially proposed on the Django Forum – Feature request: startproject and startapp should provide feedback, where this received 4 "likes" and 5 comments saying this was a good enhancement.
I’d like to propose adding a success message / feedback when running the startproject and startapp commands. For people who are experienced devs it might be expected that a successful script exists without any output. For beginners, it can be very confusing.
This shows up as an issue for people who go through Django tutorials, as django-admin and startproject are often their first point of contact with the framework after installing Django.
From personal experience with Django Girls in particular, this is causing a common issue where people won’t realise the command has worked so will run it multiple times with different options (for example with or without a destination folder), which leads to at best confusing error messages, at worst multiple projects created within one-another.
Output options ¶
Based on the feedback in the forum, I’d recommend starting with the simplest output of confirming the command worked and restating what happened.
Success one-liner ¶
For example, running:
django-admin startproject mysite
The command would display:
Success! Created mysite at /absolute/path/to/where/startproject/created/mysite
I think adding this to startproject
or startapp
would make for a great PR (or two great PRs).
Files created ¶
If the person taking this on has the skills, it’d be nice to also display a recap of what files were created. This will be relevant for both commands, and no matter what template was in use.
For example, running:
django-admin startproject mysite
We could show:
mysite ├── manage.py └── mysite ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py
This could be a separate PR if this proves complex. And if this kind of good-looking line art is too hard to do in Django, we could use simple indentation instead:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py
According to the ticket's flags, the next step(s) to move this issue forward are:
- To improve the patch as described in the pull request review comments or on this ticket, then uncheck "Patch needs improvement".
If creating a new pull request, include a link to the pull request in the ticket comment when making that update. The usual format is:
[https://github.com/django/django/pull/#### PR]
.