首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >django MEDIA_ROOT和MEDIA_URL模板

django MEDIA_ROOT和MEDIA_URL模板
EN

Stack Overflow用户
提问于 2014-11-22 07:05:10
回答 3查看 6K关注 0票数 1

模型看起来就像

代码语言:javascript
运行
复制
class Cars(models.Model):
    name = models.CharFidle(max_length=255)
    price = models.DecimalField(max_digits=5,decimal_places=2)
    photo = models.ImageField(upload_to='images/cars')
    def __unicode__(self):
        return self.name

设置

代码语言:javascript
运行
复制
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'

但是当我在模板中使用它时,如下所示

代码语言:javascript
运行
复制
{% for car in cars %}
        <li>{{ car.name }}</li>
        <li>{{ car.price }}</li>
        <a>{{ car.photo }}</a>
        <img src="{{ car.photo.url }}"/>
    {% endfor %}

我无法得到图像,怎么了?

如果有人能帮我,那就太好了

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-11-22 07:36:19

这里可能会发生一些事情:

  1. 您正在运行的非开发web服务器尚未设置为静态媒体服务。这里的解决方案将根据您正在运行的web服务器而有所不同。
  2. 您正在运行开发web服务器,还没有设置静态服务。为此,我将在根urls.py文件中添加以下内容:

图样=# ..。剩下的URLconf在这里.+静态(settings.MEDIA_URL,document_root=settings.MEDIA_ROOT)

  1. MEDIA_ROOT目录中存在权限问题。在这种情况下,我会确保您的MEDIA_ROOT目录是可读的,您的web服务器。
票数 2
EN

Stack Overflow用户

发布于 2014-11-22 12:55:22

从您的settings.py中,我假设您已经在您的基本目录中创建了一个媒体文件夹。如果你有,那你就向右走。我想问题就在你的模板里。

试试这个:

代码语言:javascript
运行
复制
<img src="/static/{{car.photo}}" width="100" height="100" />

扩展基后,不要忘记在模板顶部包括{% load staticfiles %}。你准备好走了..。

票数 1
EN

Stack Overflow用户

发布于 2014-11-23 06:57:57

代码语言:javascript
运行
复制
urlpatterns = [
  # ... the rest of your URLconf goes here ..
  ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

将此添加到我的根urls.py中,并在根urls.py中记住

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27074968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档