Вы можете использовать встроенный django ImageField . По сути, это настроено для хранения и ссылки URL-адреса относительно медиа-каталога на веб-сервере.
Вот довольно простой пример здесь .
EDIT:
Для вашей собственной реализации вне django большинство людей будет реализовывать ее аналогично тому, как работает поле изображения Django. По сути, вы создаете ссылку на файл в файловой системе и сохраняете фактический файл в файловой системе.
Вы можете сохранить фактическое изображение в базе данных, но я думаю, что большинство людей предпочитают не сохранять его в базе данных. Этот вопрос stackoverflow содержит много информации о том, почему кто-то захочет сделать это так или иначе. Я сам делал это обоими способами, и в большинстве случаев мне больше нравится хранить их в файловой системе, чем в базе данных.