2017-02-28 30 views
1

ファイルフィールドがあるところでフォームを送信したいのですが、デベロップメントモードでは正常に送信できますが、pythonanywhereではカスタムフェイルページにリダイレクトされますフォームは通過しませんでした。ユーザーはPythonanywhereのMediaディレクトリにアップロードできません

何の添付ファイルが存在しない場合、フォームは、それが上の者協会デバッグ真&偽(username.pythonanywhere.com)上で動作し、保存されているではなく、製品上(www.domain.com)

ここで私が設定する方法ですpythonanywhereファイル:

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/' 

urls.py

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

models.py

class AskTicket(models.Model): 
    document = models.FileField(upload_to='attachments') 
    ... 

そして、ここでは、どのように私のセットアップ静的なファイルマネージャ:

enter image description here

ユーザーがファイルをダウンロードすることができないのはなぜ?私は何か見落としてますか ?

+0

PythonAnywhere devの - あなたのエラーログにエラーがありますか? –

答えて

-1

であってもよい:DjangoGirls Tutorialを後約サーバー構成(?apacheの、NGIX)

+1

PythonAnywhere devここには、システム上で行う必要はありません。あなたのウェブサイトは、ユーザに属するユーザ名として実行されます。それらのBASE_DIR。 –

0

方法で

chown -R www–data:www-data <your-server-directory> 

static変数存在?

あなたはあなたがこのようにしなければならないhttps://tutorial.djangogirls.org/en/deploy/

上でそれを見つけることができます:ここ

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()) 
+0

これは既にこのように設定されていますが、エラーはまだ発生します – Lindow

+0

collectstaticファイルを忘れていませんか? – Beomi

+0

私は、admin側からアップロードすることもできますが、 – Lindow

関連する問題