0

我可能做了一些愚蠢的事情,但是当我使用 /admin 上传图像时,我无法加载它。

我做了一个 for 循环来获取所有帖子和除图像之外的所有内容

模型:

`class Post(models.Model):
    title   =   models.CharField(max_length=140)
    body    =   models.TextField()
    image   =   models.ImageField(upload_to='blog/media/photos')
    date    =   models.DateTimeField()`

模板页面:

`   {% for post in object_list %}
        <h5><a href="/blog/{{post.id}}">{{post.title}}</a></h5>
        <img src="{{ post.image.url }}">
        <h1>{{ post.image.url }}</h1>
    {% endfor %}`
4

2 回答 2

0

您必须在 settings.py 中设置媒体文件夹路径

MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'

或在 url.py 上添加媒体根目录

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = patterns('',
    # ... the rest of your URLconf goes here ...
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

是否有博客/媒体/照片文件夹路径并可访问?

于 2018-03-13T14:23:46.830 回答
0

我想这与您的MEDIA_URL设置有关。检查终端输出并查找对图像的请求,很有可能您没有设置它,和/或您没有将媒体 url 处理程序添加到您的 url。

https://docs.djangoproject.com/en/2.0/howto/static-files/#serving-files-uploaded-by-a-user-during-development

于 2018-03-13T13:39:11.797 回答