Административная панель Django MEDIA_URL и URL-адрес базы данных

Я портировал веб-сайт с сервера на несколько дней назад. Теперь мне нужно завершить порт, обновив базу данных на новом сервере.

Я сделал это, но я получаю странную ошибку. Это не показывает мне изображения.

В базе данных поле изображения содержит https://www.domain.ext/media/uploads/homepage/image_name.jpg но в админке URL не такой, как MEDIA_URL (устанавливается в файле settings.py) и поле изображения из базы данных, так что если MEDIA_URL настроен как https://www.domain.ext/media/, в админке в поле изображения посмотрю https://www.domain.ext/media/https://www.domain.ext/media/uploads/folder/image_name.jpg,

Я пытался вручную изменить ссылку в БД, оставляя только /uploads/folder/image_name.jpgЯ обновил страницу администратора, и она выглядела нормально, но когда я сохранил, это был другой раз в неправильной форме.

Кто так любезно объяснит мне, почему и как я могу справиться с этим?

РЕДАКТИРОВАТЬ:

Джанго версия 1.2.5

Другая проблема, которую я видел, заключается в том, что если есть http в MEDIA_URL поведение такое же, как я объяснил. Если там есть https URL стал /https:/www. ...etc..., Для этого последнего я попытался поставить u перед MEDIA_URL строка, как MEDIA_URL = u"text" но это не сработало.

1 ответ

Решение

Наконец-то у меня возникла проблема!

Проблема была в filebrowser модуль.

В filebrowser/functions.py есть метод с именем url_join это было определено как:

def url_join(*args):
"""
URL join routine.
"""

if args[0].startswith("http://"):
    url = "http://"
else:
    url = "/"
for arg in args:
    arg = arg.replace("\\", "/")
    arg_split = arg.split("/")
    for elem in arg_split:
        if elem != "" and elem != "http:":
            url = url + elem + "/"
# remove trailing slash for filenames
if os.path.splitext(args[-1])[1]:
    url = url.rstrip("/")
return url

Я просто добавил s где есть http так что теперь это https и это работает. Он пишет правильную вещь в БД, а также правильно отображает URL.

Спасибо всем за помощь!:)

РЕДАКТИРОВАТЬ:

С Рождеством всех!:)

Другие вопросы по тегам