用户无法上载到Pythonywhere上的媒体目录

用户无法上载到Pythonywhere上的媒体目录,python,django,pythonanywhere,Python,Django,Pythonanywhere,我想提交一个有文件字段的表单,在开发模式下我可以成功提交,但当涉及到pythonany时,我被重定向到我的自定义失败页面,这意味着表单没有通过 表单在没有附件时保存,它在developpement(username.pythonanywhere.com)上的debug true和false上工作,但在产品(www.domain.com)上不工作 下面是我如何配置Pythonywhere文件的: settings.py: BASE_DIR = os.path.dirname(os.path.dir

我想提交一个有文件字段的表单,在开发模式下我可以成功提交,但当涉及到pythonany时,我被重定向到我的自定义失败页面,这意味着表单没有通过

表单在没有附件时保存,它在developpement(username.pythonanywhere.com)上的debug true和false上工作,但在产品(www.domain.com)上不工作

下面是我如何配置Pythonywhere文件的:

settings.py:

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DEBUG = False

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')

MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
url.py

urlpatterns = [
    ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
型号.py

class AskTicket(models.Model):
    document = models.FileField(upload_to='attachments')
    ...
下面是我如何设置静态文件管理器的:


为什么用户不能下载文件?我错过什么了吗?

接下来的《DjangoGirls教程》怎么样

你可以在网上找到它

所以你必须这样做:

import os
import sys

path = '/home/<your-PythonAnywhere-username>/my-first-blog'  # use your own PythonAnywhere username here

if path not in sys.path:
    sys.path.append(path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

from django.core.wsgi import get_wsgi_application
from django.contrib.staticfiles.handlers import StaticFilesHandler
application = StaticFilesHandler(get_wsgi_application())
导入操作系统
导入系统
path='/home//my first blog'#在此处使用您自己的PythonAnywhere用户名
如果路径不在sys.path中:
sys.path.append(路径)
os.environ['DJANGO\u设置\u模块]='mysite.SETTINGS'
从django.core.wsgi导入获取\u wsgi\u应用程序
从django.contrib.staticfiles.handlers导入StaticFileHandler
application=staticFileHandler(get\u wsgi\u application())

pythonywhere-dev在这里--您的错误日志中有错误吗?(静态文件表上方有一个指向它的链接。)难道你没有忘记收集静态文件吗?你会删除文件字段中的'upload_to'参数吗?哦,这样你就可以通过管理员上传,而不是使用自定义表单?嗯,你会从PA的静态文件设置中删除/static/admin/吗?如果您执行了
collectstatic
,那么它可能会被复制。(我知道这种方法正在流行,但让我们一步一步地检查。)