0

几天前,我将一个网站从服务器移植到另一个服务器。现在我需要完成端口,更新新服务器中的数据库。

我已经做到了,但我得到了一个奇怪的错误。它不向我显示图像。

在数据库中,图像字段包含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

我试图手动修改db中的链接,只留下/uploads/folder/image_name.jpg,我刷新了管理页面,看起来还可以,但是当我保存时,又是一次错误的形式。

谁能这么好心地解释我为什么,以及我该如何应对?

编辑:

Django 版本是 1.2.5

http我看到的另一个问题是,如果MEDIA_URL行为与我解释的相同。如果有httpsurl 就变成/https:/www. ...etc.... 对于后者,我试图在字符串u之前放一个,但它没有用。MEDIA_URLMEDIA_URL = u"text"

4

1 回答 1

0

最后我得到了问题!

问题出在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地方,它可以工作了。它在数据库中写入正确的内容,并以正确的方式呈现 url。httphttps

感谢大家的帮助!:)

编辑:

祝大家圣诞节快乐!:)

于 2014-12-24T09:41:48.587 回答