【发布时间】:2018-01-01 21:54:55
【问题描述】:
人类同胞
我刚刚在 digitalocean 上设置了一个服务器并部署了我的应用程序。其他一切都很好,包括我的 javascript 和 css。但由于某些超出我的原因,用户上传的图片没有显示
我想我找到了线索,但仍然不知道该去哪里。
如果您能指出正确的方向,将不胜感激
这是我的图像模型(upload_to)
class Image(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL,
related_name='images_created')
title = models.CharField(max_length=2000)
slug = models.SlugField(max_length=200,
blank=True)
url = models.URLField()
image = models.ImageField(upload_to='images/%Y/%m/%d')
description = models.TextField(blank=True, null=True)
created = models.DateField(auto_now_add=True,
db_index=True)
users_like = models.ManyToManyField(settings.AUTH_USER_MODEL,
related_name='images_liked', blank=True)
这是我的 nginx 配置文件
server {
listen 80;
server_name 67.207.87.22;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
alias /home/kingiyk/stylplus/static/;
}
location /media/ {
alias /home/kingiyk/stylplus/media/;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/kingiyk/stylplus/stylplus.sock;
}
}
当我上传图片时,它会保存到 /home/kingiyk/stylplus/images/2017/07/26
stylplus/images 是图片应用
我认为 '2017/07/26' 部分是由于我的 upload_to 是 'images/%Y/%m/%d (year/month/day)。 p>
虽然上传成功,但是图片不显示 我的 css 和 javascript 没有问题。
现在我猜我的 nginx conf 和存储图像的路径之间存在冲突。请伸出援助之手。干杯
【问题讨论】:
-
你是说你的图片上传到
/home/kingiyk/stylplus/images/但是你的nginx/media/指向/home/kingiyk/stylplus/media/。 -
您必须使用 nginx 提供图像文件。您应该将上传位置更改为 /home/kingiyk/stylplus/media/ (或静态)。或者在 nginx 配置中添加一个新路径(images/)。
-
嘿@Tico。我确实将我的设置附加到服务器 { listen 80; server_name 67.207.87.22;位置 = /favicon.ico { access_log off; log_not_found 关闭; } 位置 /static/ { 别名 /home/kingiyk/stylplus/static/; } 位置 /media/ { 别名 /home/kingiyk/stylplus/media/; } 位置 / { 包括 proxy_params; proxy_pass unix:/home/kingiyk/stylplus/stylplus.sock; } } upload_to--'/home/kingiyk/stylplus/media/' 但仍然无法查看上传的图片。您可以分享更多见解
-
嗯。对于此解决方案,您还需要在 settings.py 上配置此路径。基本上,您必须将图像文件视为静态文件或媒体文件。查看文档docs.djangoproject.com/en/1.11/howto/static-files/deployment。
-
尝试将图像保存在 css 和 ser 的同一文件夹中,如果 ir Works。然后根据静态部署文档制定解决方案来更改路径
标签: django ubuntu nginx gunicorn