Opened 7 years ago

Closed 6 years ago

#8336 closed (wontfix)

runserver option for disabling admin static files serving

Reported by: jakub_vysoky Owned by: nobody
Component: runserver Version: master
Severity: Keywords: admin media runserver
Cc: Triage Stage: Design decision needed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:


Okay, it's handy not to worry about admin media files static serving, when running simple dev server..

But if you want to do something special with admin media files, like not touching the original ones in django.contrib.admin and add some of your own, like we do with very simple static serving view (serve from one dir and fallback to another), you must set ADMIN_MEDIA_PREFIX = 'http://localhost:8000', which is not very portable solution, or symlink files from various dirs and let runserver serve admin static files from there.

If people have in their something for static media serving when DEBUG == True - why not to have there the same for admin?

I'll attach patch that adds an option for runserver management command which gives you the chance just to disable builtin magical serving.

Attachments (1)

8336-disable_admin_media_serving-8354.diff (1.7 KB) - added by jakub_vysoky 7 years ago.
option for disabling admin media serving

Download all attachments as: .zip

Change History (9)

Changed 7 years ago by jakub_vysoky

option for disabling admin media serving

comment:1 Changed 7 years ago by programmerq

  • Component changed from Uncategorized to runserver
  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Design decision needed

It sounds like you are looking for --admin-media=ADMIN_MEDIA_PATH option. You can point to whatever directory you want for serving admin media files.

I'm marking this as DDN because disabling the admin media serving might be useful for some people, though I'd be inclined to not include such a feature.

comment:2 Changed 7 years ago by jakub_vysoky

thanks for reading this ticket ;))

I know this option, but if you want no to touch django.contrib.admin files and add your own (eg.: in another repository) you have to:

symlink files from various dirs and let runserver serve admin static files from there

comment:3 Changed 7 years ago by mtredinnick

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

That's correct. That is all you have to do.

This is a bit of a borderline case and I can see that some people will want to do this, but it's also just not that common a use to require expending a lot of effort. The existing solution takes 60 seconds to set up. We've documented how to do it and it works now.

comment:4 Changed 7 years ago by jakub_vysoky


But doesn't it look a bit uncomplete? If there is such thing like magical autoserving admin media files and if there is way to change directory of serving these things, that there is no way to disabling this feature?

Thanks anyway ;).

comment:5 Changed 7 years ago by anonymous

This bit of magic just cost me an hour of head scratching. I must have missed the documentation that says django-admin runserver will serve the built-in admin media no matter what you set ADMIN_MEDIA_PREFIX to (or so it seems?). Since there is no CSS fallback system (ala the template hierarchical lookup system) it makes sense to just copy the whole admin media to another directory and edit it directly to avoid messing up django's installed admin media used by other apps. I don't see how to do this except with the http://localhost trick proposed above. At the very least this should be documented better, magic is for Rails :-)

comment:6 Changed 7 years ago by Almad

Ran into that too :]

comment:7 Changed 6 years ago by anonymous

  • Resolution wontfix deleted
  • Status changed from closed to reopened

Burned several hours scratching my head with this on multiple occasions as well. In DEBUG mode I have my media/ served with the django static serve in, and admin/ is a subfolder of that. However this django 'feature' overrides my media/admin/ with the django builtins.

Re-opening since this 'feature' is affecting a lot of people. This silent magic overriding of media directories is a really bad idea, and none of the proposed workarounds are useful. Having to type --adminmedia each time is a really horrible idea; if I work on something else for a week, then come back to it, I always forget, and burn yet another hour wondering why my customizations aren't showing up.

At the VERY least, my should override django's magic, not the other way around. If I'm specifying a media/ folder, obviously I will need admin/ in it on production, so django should assume I will have it set up the same way in development.

comment:8 Changed 6 years ago by Alex

  • Resolution set to wontfix
  • Status changed from reopened to closed

Please don't reopen tickets closed by a commiter, if you disagree with the decision take it to the django-developers mailing list.

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