In the Django admin, wherever I have a FileField, there is a "currently" box on the edit page, with a hyperlink to the current file. However, this link is appended to the current page url, and therefore results in a 404 as there is no such page as, for example:
http://127.0.0.1:8000/admin/Tank/asset/17/media/datasheet/13/09/05/copyright.html/
For reference, the correct url of the file is:
http://127.0.0.1:8000/media/datasheet/13/09/05/copyright.html
Is there any way to fix this problem in the default admin layout? It affects every FileField in my database, and seems to me like a bug. Am I just using it wrong?
The answer to this question is fairly thoroughly covered by this answer. In brief however, the problem is that you probably haven't set up your MEDIA_ROOT and MEDIA in settings.py and in urls.py you haven't made it so that the media folder is being served.
For the details of how to do those things check out the incredibly awesome answer by Akseli Palen.