gpt4 book ai didi

python - Django "SuspiciousOperation"删除上传文件时出错

转载 作者:可可西里 更新时间:2023-11-01 09:57:13 24 4
gpt4 key购买 nike

我在 Windows XP 上使用 manage.py runserver 命令开发 Django 来提供文件。不涉及 Apache。当我登录管理并尝试删除文件时,出现“SuspiciousOperation”错误。

这是回溯:
http://dpaste.com/123112/

这是我的完整模型:
http://dpaste.com/hold/123110/

我怎样才能摆脱这个“SuspiciousOperation”错误?

编辑:这是我的媒体设置:

MEDIA_ROOT = 'C:/Server/Projects/postnzb/static/'
MEDIA_URL = '/static/'

最佳答案

settings.py 中的MEDIA_ROOT 是什么?从回溯来看,您似乎已将 MEDIA_ROOT 设置为 /static/

出现此错误是因为 Django 试图访问它无权访问的 /static/。为 MEDIA_ROOT 设置一个绝对路径名,例如 C:/Documents/static/ 并授予 Django 访问该目录的完全权限。

这应该可以解决您的问题。

附录:由于您的MEDIA_ROOT 似乎没问题,我猜测您正在使用MEDIA_URL 而不是 来删除文件>MEDIA_ROOT。事实上,从错误来看,Django 似乎试图访问 /static/files/8.nzb 并被拒绝访问。显然,/static/ 是您的 MEDIA_URL 而不是您的 MEDIA_ROOT。模型方法永远不应尝试使用 MEDIA_URL 访问文件。我相信检查您的代码会发现错误。

更新:我浏览了您的代码,您似乎将 File.nzb 设置为 %(1)sfiles/%(2)s.nzb' % {'1': settings.MEDIA_URL, '2': self.pk} 使用它的 MEDIA_URL 然后在 delete() 方法中你是将 File 父类(super class)的 delete() 方法调用为 super(File, self).delete() 这显然是错误的它将尝试删除 File.nzb 并尝试通过 MEDIA_URL 访问该文件。修复该错误将消除该错误。我会将确切的解决方案作为练习留给您:)

关于python - Django "SuspiciousOperation"删除上传文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/570952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com