【问题标题】:The 'profile_pic' attribute has no file associated with it“profile_pic”属性没有与之关联的文件
【发布时间】:2015-12-30 04:47:23
【问题描述】:

我是 django 和 python 的初学者。

我建的模型有ImageField。 ImageField 的属性为 Null=True,blank=True。

在我的 django 应用程序代码中,我尝试像这样访问 ImageField。

maker['profileImg'] = item.user.profile_pic.url

但我收到一条错误消息。

所以我这样修改应用代码。

try:
    maker['profileImg'] = item.user.profile_pic.url
except:
    maker['profileImg'] = ''

还有什么好办法吗?

【问题讨论】:

    标签: python django


    【解决方案1】:

    只需使用if 条件来检查该特定字段中是否有图像,

    if item.user.profile_pic:
        maker['profileImg'] = item.user.profile_pic.url
    else:
        maker['profileImg'] = ''
    

    对于一个班轮:

    maker['profileImg'] = item.user.profile_pic.url if item.user.profile_pic else ''
    

    【讨论】:

    • 这是最短的代码吗?我喜欢 profileImg = item.user.profile_pic.url 或 '',在这种情况下不起作用。
    • 尝试添加一个班轮答案
    【解决方案2】:

    如果你想避免 None 值,你可以在一行中使用它:

    profileImg = item.user.profile_pic.url or ''
    

    编辑

    不要存储url,而是存储profile_pic

    profileImg = item.user.profile_pic
    

    当你需要网址时:

    if profileImg:
        print profileImg.url  # or whatever you need to di with url
    

    【讨论】:

    • “profile_pic”属性没有与之关联的文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2023-02-21
    • 2021-11-18
    • 2021-02-11
    • 2020-03-08
    相关资源
    最近更新 更多