Django ORMのFileFieldメソッドの使い方について詳しく説明します。FileFieldは、ファイルのアップロードと保存を扱うための非常に便利なフィールドです。以下に、4つの異なるパターンで具体的なコード例を提供します。
1. ファイルのアップロードと保存
まず、DjangoのモデルでFileFieldを使用して、ファイルをアップロードし保存する方法を示します。
from django.db import models
class MyModel(models.Model):
title = models.CharField(max_length=100)
file_upload = models.FileField(upload_to='uploads/')
# アップロードされたファイルを保存するために settings.MEDIA_ROOT/uploads/ ディレクトリが自動的に作成されます。
2. ファイルへのアクセス
アップロードされたファイルにアクセスする方法を説明します。
# MyModelのインスタンスを取得
my_instance = MyModel.objects.get(pk=1)
# アップロードされたファイルへのパスを取得
file_path = my_instance.file_upload.path
3. ファイルのURL
ファイルのURLを取得する方法です。
# MyModelのインスタンスを取得
my_instance = MyModel.objects.get(pk=1)
# アップロードされたファイルのURLを取得
file_url = my_instance.file_upload.url
4. ファイルの表示
HTMLテンプレートでファイルを表示する方法を示します。
<!DOCTYPE html>
<html>
<head>
<title>ファイル表示</title>
</head>
<body>
<h1>{{ my_instance.title }}</h1>
<a href="{{ my_instance.file_upload.url }}" download>ダウンロード</a>
</body>
</html>