設定.py
次の行を追加します。
import os
BASE_DIR = os.path.realpath(os.path.dirname(__file__))
次の行を置き換えます。
MEDIA_ROOT = ''
MEDIA_URL = ''
と
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,os.pardir,'media')
これにより、フォルダー /your project directory/media/ からメディア コンテンツをレンダリングするようにプロジェクトが設定されます。
urls.py
次の行も追加します。
import settings
URL パターンに次の行を追加します。
url(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT, 'show_indexes': False}),
models.py
モデル内に次の行を追加します。
File = models.FileField('File',upload_to='./')
モデルでメソッドを定義する
def fileLink(self):
if self.File:
return '<a href="' + str(self.File.url) + '">' + 'NameOfFileGoesHere' + '</a>'
else:
return '<a href="''"></a>'
fileLink.allow_tags = True
fileLink.short_description = "File Link"
admin.py
fileLink
フィールドを読み取り専用フィールドとして使用します。list_display
例えば
class FileAdmin(admin.ModelAdmin):
list_display = ['fileLink']
readonly_fields = ['fileLink']