昨夜私はの生産の設定をテストしたいpythonanywhere.comに自分のプロジェクトをアップロードしました。私のモデルの1つでは、ユーザーは JPG(Logo of a team)をアップロードできます。アップロードプロセスはうまくいき、ファイルは自分のMEDIA_ROOTに格納されます。問題は、テンプレートで(ページに表示するために)テンプレートにアクセスしようとすると404が発生するということです。私の最初の考えは、MEDIA_URLが正しく設定されていないことですが、なぜか分かりません。メディアフォルダがプロジェクトにないと言いたいのですが、それは外にあります。 オン開発モード私はロゴを参照してください(私はif settings.DEBUG:urlpattern + =静的(...)オプションが正しく設定されています)。404メディアファイル - Django
私はDjangoは私のコードであるここでのpython 2.7 を1.9.7使用してい:
マイモデル:
class Team(models.Model):
name = models.CharField(verbose_name='Name of the team', max_length=24)
logo = models.ImageField(upload_to='team_logos', verbose_name='Logo', blank=True, null=True)
def get_logo(self):
u"""Get path to logo, if there is no logo then show default."""
if self.logo:
return self.logo.url
return '/static/img/default_team_logo.jpg'
マイSettings.py:
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media", "soccerV1", "static")
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "media", "static"),
)
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), "media", "soccerV1", "media")
そして、私のテンプレート私はロゴを要求します:
<td><img src="{{ details.get_logo }}" alt="{{ details.name }} logo" height="64px" width="64px"></td>
実際にMEDIA_URLからファイルを提供するように設定したことはありますか? –