【发布时间】:2013-05-13 13:36:28
【问题描述】:
models.py
class Report(models.Model):
user = models.ForeignKey(User, null=False)
photo_files_attached = models.BooleanField('Photos', default=False)
views.py
def media(request):
user = request.user
try:
report = Report.objects.get(user=user.id)
except:
report = None
report_dir = str(report.user.id) + '/' + str(report.id)
output_dir = settings.MEDIA_ROOT + '/' + report_dir
imagelist = []
if os.path.exists(output_dir):
os.chdir(output_dir)
for files in os.listdir("."):
for extension in JPEG_ALLOWED:
if files.endswith(extension):
image_with_path = report_dir + '/' + files
imagelist.append(image_with_path)
return render(request, 'incident/media.html',
{
'newreport_menu': True,
'report':report,
})
我正在尝试上传图像文件并将其保存到数据库,得到以下错误“'NoneType' object has no attribute 'user'”
【问题讨论】:
-
附带说明,当 .get(user=user.id) 有效时,
.get(user=user)就足够了。 -
就我而言,它仍然给出同样的错误
-
是的..我知道..我没有给你一个解决方案。做一件事 - 转到管理界面,为该用户添加一个报告(如果还没有的话),然后再次执行代码。它应该工作。代码对我来说很好
-
是的,我也试过了,但错误是他们的
-
好的.. 还有一件事。只需删除 try except ,看看你得到什么错误。我的猜测是,您可能有多个与用户相关的报告。
标签: django django-models django-admin django-views