【问题标题】:Confused about configuring django-avatar for storing avatar对配置 django-avatar 存储头像感到困惑
【发布时间】:2012-03-09 15:46:15
【问题描述】:

编辑:一些随机编辑似乎可以完成这项工作,但我不明白如何。

我刚刚将应用程序 django-avatar “安装”到我的 django 项目中。 (目前正在开发中,所以我使用的是django自带的服务器)

但是。上传头像后,在任何文件夹中都找不到头像,也没有显示出来。我是 django 和 python 的新手,所以我不知道该怎么做,或者我的代码的哪一部分要发布。我完全一无所知。我已经设置了一个 url,其中静态文件是服务器(通过 django.views.static.serve)

url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),

(导入设置)

但是。我觉得这是错误的。我想要一些指导。

媒体/静态相关设置:

MEDIA_ROOT = 'd:/a4m/media/'
MEDIA_URL = '/media/'
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (('d:/a4m/static/'),)

至于模板,我只是使用 django-avatar 提供的模板。

【问题讨论】:

  • 添加与任何媒体/静态相关的设置。在您尝试加载图像的模板中查看代码也会很有帮助。
  • @ChrisPratt 添加了你想要的任何东西。

标签: python django django-urls


【解决方案1】:

首先,不要将项目的静态目录添加到STATICFILES_DIRS。您不应该在该目录中手动放置任何内容,因此没有理由在开发中提供它(这就是 Django 默认不提供的原因)。另外,我不认为它与这个问题有关,但STATIC_ROOT 需要一个真正的价值,这应该是你的情况:

STATIC_ROOT = 'd:/a4m/static/'

也就是说,从查看 django-avatar 源代码可以看出两件事:

  1. 它使用了一个名为AVATAR_STORAGE_DIR 的设置,所以如果你还没有,你应该定义它。看来以下是明智的:

    AVATAR_STORAGE_DIR = MEDIA_ROOT + 'avatars/'
    
  2. 如果由于某种原因无法将头像写入文件系统,django-avatar 会静默返回。所以,我会检查诸如权限之类的东西,以确保 Django 在写入AVATAR_STORAGE_DIR 下的任何目录时不会出现问题。

希望这足以让您进一步调试此问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多