Opened 17 years ago
Closed 17 years ago
#6509 closed (duplicate)
django-admin startapp doesn't check for conflicts in naming
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Core (Other) | Version: | dev |
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: | no | UI/UX: | no |
Description
It is possible to create a new application using django-admin.py 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)
Change History (7)
comment:1 by , 17 years ago
Has patch: | set |
---|---|
Triage Stage: | Unreviewed → Accepted |
comment:2 by , 17 years ago
This was already fixed for startproject
in [7320]; all that's needed is a quick copy of the patch into the startapp
command.
by , 17 years ago
Patch for startapp only, based on check in startproject.
comment:3 by , 17 years ago
Triage Stage: | Accepted → Ready for checkin |
---|
by , 17 years ago
Attachment: | startproject-startapp.patch added |
---|
Yes, startapp and startproject should check invalid names (os, datetime, ...). I uploaded a patch.