几天前我已将网站从服务器移植到另一个网站。现在我需要完成端口,更新新服务器中的数据库。
我已经完成了,但是我收到了一个奇怪的错误。它没有向我展示图像。
在数据库中,图像字段包含https://www.domain.ext/media/uploads/homepage/image_name.jpg
,但在管理面板中,网址与此类似,就像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
,我已经刷新了管理页面,看起来没问题,但是当我保存时,又是错误的另一次形式。
谁是如此友善地向我解释原因,以及我如何能够解决这个问题?
编辑:
Django版本是1.2.5
我看到的另一个问题是,如果http
中有MEDIA_URL
,则行为与我所解释的相同。如果https
该网址变为/https:/www. ...etc...
。
对于后者,我尝试将u
放在MEDIA_URL
字符串之前,例如MEDIA_URL = u"text"
,但它没有用。
答案 0 :(得分: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
添加了http
,所以现在它https
就行了。
它在数据库中写出正确的东西,它也以正确的方式呈现URL。
感谢所有人的帮助! :)
编辑:
祝大家圣诞快乐! :)