Opened 8 years ago

Closed 8 years ago

#6509 closed (duplicate)

django-admin startapp doesn't check for conflicts in naming

Reported by: David Sauve <dnsauve@…> Owned by: nobody
Component: Core (Other) Version: master
Severity: Keywords: django-admin admin module error
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:


It is possible to create a new application using that has a name that will conflict with a module that already exists in the Python path.

This can be especially difficult for a newcomer to Python and Django to track down since the error messages generated do not indicate what when wrong, only that the key module symbols are missing.

I found this by creating an application called "calendar". Afterwards, the admin interface no longer worked for me because "isleap" was not defined in my version of "calendar", obviously.

However, I'm not sure how this could be prevented. Possibly the best solution would be to indicate the full path to the module (not) containing the required symbols? In my case, if the error had indicated that mysite.calendar did not define isleap, I would have realised my error right away!

Attachments (2)

6509.diff (862 bytes) - added by guettli 8 years ago.
Patch for startapp only, based on check in startproject.
startproject-startapp.patch (2.5 KB) - added by i_i 8 years ago.

Download all attachments as: .zip

Change History (7)

comment:1 Changed 8 years ago by guettli

  • Has patch set
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

Yes, startapp and startproject should check invalid names (os, datetime, ...). I uploaded a patch.

comment:2 Changed 8 years ago by ubernostrum

This was already fixed for startproject in [7320]; all that's needed is a quick copy of the patch into the startapp command.

Changed 8 years ago by guettli

Patch for startapp only, based on check in startproject.

comment:3 Changed 8 years ago by guettli

  • Triage Stage changed from Accepted to Ready for checkin

comment:4 Changed 8 years ago by ramiro

See #6654 for a similar simplification for startproject

Changed 8 years ago by i_i

comment:5 Changed 8 years ago by guettli

  • Resolution set to duplicate
  • Status changed from new to closed

Duplicate of #6654

Note: See TracTickets for help on using tickets.
Back to Top