AWSDjango

AWS S3 bucketでDjangoプロジェクト内のファイルを管理する方法

Django内でファイル管理をする事も可能ですが、ファイルが多くなる事が想定される場合は外部のストレージと連携して管理した方が良い・・・という事で、AWSのS3 bucketを利用して、画像などその他ファイルを管理できるように連携を行ってみました。 前提情報 ・AWS CLIは設定済み・AWS IAMでユーザー作成済み、アクセスキーも作成済み※AWS CLIとIAMユーザー・アクセスキーの作成は前回の記事を参考にどうぞ・WindowsのOSで、Powershellを利用しています インストールするモジュール django-storagesは、djangoを外部ストレージに連携できるようにする為に必要なモジュールです。boto3は、AWSとの連携に必要なモジュールです。django-environは、Djangoプロジェクトのsettings.pyに機密情報を直接記載せず、envファイルから値を読み込めるようにするモジュールです。※これらモジュールをインストールした後は、アプリケーションデプロイの時に必要なrequirements.txtを更新しておきましょう Djangoのsettings.pyにenvironを組み込む manage.pyがあるフォルダ層に.envファイルを作成。.envファイルの中に、機密情報を記入します。 settings.pyの中には以下のようにenvironの設定と、値の読み込み、importを記述する必要があります。 コマンドラインでAWSのS3 bucketにファイルを連携させる AWSのS3 bucket画面で、ファイルが連携されているか確認 コンソールで確認すると、バケットの中にオブジェクト(ファイル)が無事に連携されている事が確認できました
AWS

AWS CLI & AWS IAM 接続方法

今回AWS CLIを使って、AWSサービスにローカルPCからログイン&操作できるように環境を整えます。 AWSのIAMでユーザーを作成 ローカルPCからAWSリソースに接続をする場合、アクセスに利用するユーザー情報を作成する必要があります。 ユーザー名を決めて、「AWSマネジメントコンソールへユーザーアクセスを提供する」にチェックを入れます。私の場合はパスワードを自動生成ではなく自分で決めて、サインイン時にパスワードの作り直しは不要と設定しました。 一般的にはユーザーを含めるグループを作成し、そのグループに対してポリシーを設定しますが今回はユーザー単体に対してポリシーをアタッチしてみました。ポリシーは検索でも色々と調べられますので、アカウントに対して許可したい権限を付与してあげてください。 ユーザー作成完了後、アクセスキーを作成すればこの情報を使ってAWS CLIからAWSリソースにアクセスする事ができるようになります。 AWS CLIのインストール こちらのURL(公式サイト)に記載されている通りに、WindowsであればPowerShellにコマンドを打ってインストールを行う。Installing or updating to the latest version of the AWS CLI – AWS Command Line Interface インストールが完了した後、新規にタブを開いて以下コマンドを打ち、バージョン情報が表示されれば大丈夫です。 次はAWS CLIの設定を行う為、以下スクショのように設定を行ってください。AWS Access Key IDとAWS Secret Access Keyは、先ほどIAMで作成したアクセスキー情報を入れれば大丈夫です。Default Regionで設定しているap-northeast-1は東京です。この指定したリージョンに、新規でAWSサービスのインスタンスが構築されます。 次の記事では、AWSのS3をDjangoと連携する方法について紹介します。
Git

Github: ファイル名が勝手に大文字になる場合の対応方法

皆さんごきげんよう、Githubを利用していると、pushした際にまれにファイル名が勝手に大文字に変換されてしまいます。対応方法について残しておきます、少しでも参考になりますと幸いです。 原因 Gitのcore.ignorecaseをオフにする Gitはデフォルトで core.ignorecase = true になっていて、大文字小文字の違いを無視します。これを無効化するコマンドはこちら。 CLIを使った対応方法 Powershellでファイル名を修正して、コミットとプッシュ。
Django

ユーザーがログイン済か判定し、ページを表示させる方法

皆様ごきげんよう。Djangoでログイン機能を実装した後、ログイン後に表示させたいページをログインしていないユーザーが表示できないようにするにはどうすればよいかについてメモを残しておきます。少しでも参考になりますと幸いです。 importの必要なモジュール(記入場所はviews.py) 判定情報を記入する場所(views.py) もしログインしていない場合の判定と処理を定義する方法(settings.py) これにより、ログインされていない状態であれば必ずLOGIN_URLに設定されているURLにリダイレクトされるようになります。
Django

Django:ファイルアップロードの時、特定のファイル形式のみを許可したい場合

皆様ごきげんよう、今回は特定のファイル形式のアップロードを許可する実装方法について書き残しておきます。少しでも参考になりますと幸いです。 前提情報 models.pyのサンプル まずは日記に、画像を付けられるようにclass Diaryの中でvalidators機能を利用します。 forms.pyのサンプル views.pyのサンプル if form.is_valid()の部分で、models.pyで指定したFileExtentionValidatorが実行されます HTMLのサンプル 必ずenctypeを指定する事 これで違うフォーマットのファイルをアップロードして投稿しようとすると、エラーが表示されるようになりました。
Django

Django:HTML上でデータ値のラベル名を日本語で表示させる方法

皆様ごきげんよう、今回はデーターベースで設定している値の名前を日本語に表示させる方法について書き残しておきます。少しでも参考になりますと幸いです。 前提情報 ラベルの設定方法(サンプル) models.pyで記載しているclassの中に、以下のような形式でラベルを設定する事が可能です。 ※class Mediaの方にverbose_nameを設定してあげないと、以下のようなエラーがでます。TypeError: FileField.init() got multiple values for argument ‘verbose_name’

Top pick for you

You may also like

AWSDjango

AWS S3 bucketでDjangoプロジェクト内のファイルを管理する方法

Django内でファイル管理をする事も可能ですが、ファイルが多くなる事が想定される場合は外部のストレージと連携して管理した方が良い・・・という事で、AWSのS3 bucketを利用して、画像などその他ファイルを管理できるように連携を行ってみました。 前提情報 ・AWS CLIは設定済み・AWS IAMでユーザー作成済み、アクセスキーも作成済み※AWS CLIとIAMユーザー・アクセスキーの作成は前回の記事を参考にどうぞ・WindowsのOSで、Powershellを利用しています インストールするモジュール django-storagesは、djangoを外部ストレージに連携できるようにする為に必要なモジュールです。boto3は、AWSとの連携に必要なモジュールです。django-environは、Djangoプロジェクトのsettings.pyに機密情報を直接記載せず、envファイルから値を読み込めるようにするモジュールです。※これらモジュールをインストールした後は、アプリケーションデプロイの時に必要なrequirements.txtを更新しておきましょう Djangoのsettings.pyにenvironを組み込む manage.pyがあるフォルダ層に.envファイルを作成。.envファイルの中に、機密情報を記入します。 settings.pyの中には以下のようにenvironの設定と、値の読み込み、importを記述する必要があります。 コマンドラインでAWSのS3 bucketにファイルを連携させる AWSのS3 bucket画面で、ファイルが連携されているか確認 コンソールで確認すると、バケットの中にオブジェクト(ファイル)が無事に連携されている事が確認できました
AWS

AWS CLI & AWS IAM 接続方法

今回AWS CLIを使って、AWSサービスにローカルPCからログイン&操作できるように環境を整えます。 AWSのIAMでユーザーを作成 ローカルPCからAWSリソースに接続をする場合、アクセスに利用するユーザー情報を作成する必要があります。 ユーザー名を決めて、「AWSマネジメントコンソールへユーザーアクセスを提供する」にチェックを入れます。私の場合はパスワードを自動生成ではなく自分で決めて、サインイン時にパスワードの作り直しは不要と設定しました。 一般的にはユーザーを含めるグループを作成し、そのグループに対してポリシーを設定しますが今回はユーザー単体に対してポリシーをアタッチしてみました。ポリシーは検索でも色々と調べられますので、アカウントに対して許可したい権限を付与してあげてください。 ユーザー作成完了後、アクセスキーを作成すればこの情報を使ってAWS CLIからAWSリソースにアクセスする事ができるようになります。 AWS CLIのインストール こちらのURL(公式サイト)に記載されている通りに、WindowsであればPowerShellにコマンドを打ってインストールを行う。Installing or updating to the latest version of the AWS CLI – AWS Command Line Interface インストールが完了した後、新規にタブを開いて以下コマンドを打ち、バージョン情報が表示されれば大丈夫です。 次はAWS CLIの設定を行う為、以下スクショのように設定を行ってください。AWS Access Key IDとAWS Secret Access Keyは、先ほどIAMで作成したアクセスキー情報を入れれば大丈夫です。Default Regionで設定しているap-northeast-1は東京です。この指定したリージョンに、新規でAWSサービスのインスタンスが構築されます。 次の記事では、AWSのS3をDjangoと連携する方法について紹介します。
Git

Github: ファイル名が勝手に大文字になる場合の対応方法

皆さんごきげんよう、Githubを利用していると、pushした際にまれにファイル名が勝手に大文字に変換されてしまいます。対応方法について残しておきます、少しでも参考になりますと幸いです。 原因 Gitのcore.ignorecaseをオフにする Gitはデフォルトで core.ignorecase = true になっていて、大文字小文字の違いを無視します。これを無効化するコマンドはこちら。 CLIを使った対応方法 Powershellでファイル名を修正して、コミットとプッシュ。
Django

ユーザーがログイン済か判定し、ページを表示させる方法

皆様ごきげんよう。Djangoでログイン機能を実装した後、ログイン後に表示させたいページをログインしていないユーザーが表示できないようにするにはどうすればよいかについてメモを残しておきます。少しでも参考になりますと幸いです。 importの必要なモジュール(記入場所はviews.py) 判定情報を記入する場所(views.py) もしログインしていない場合の判定と処理を定義する方法(settings.py) これにより、ログインされていない状態であれば必ずLOGIN_URLに設定されているURLにリダイレクトされるようになります。
Django

Django:ファイルアップロードの時、特定のファイル形式のみを許可したい場合

皆様ごきげんよう、今回は特定のファイル形式のアップロードを許可する実装方法について書き残しておきます。少しでも参考になりますと幸いです。 前提情報 models.pyのサンプル まずは日記に、画像を付けられるようにclass Diaryの中でvalidators機能を利用します。 forms.pyのサンプル views.pyのサンプル if form.is_valid()の部分で、models.pyで指定したFileExtentionValidatorが実行されます HTMLのサンプル 必ずenctypeを指定する事 これで違うフォーマットのファイルをアップロードして投稿しようとすると、エラーが表示されるようになりました。
Django

Django:HTML上でデータ値のラベル名を日本語で表示させる方法

皆様ごきげんよう、今回はデーターベースで設定している値の名前を日本語に表示させる方法について書き残しておきます。少しでも参考になりますと幸いです。 前提情報 ラベルの設定方法(サンプル) models.pyで記載しているclassの中に、以下のような形式でラベルを設定する事が可能です。 ※class Mediaの方にverbose_nameを設定してあげないと、以下のようなエラーがでます。TypeError: FileField.init() got multiple values for argument ‘verbose_name’

プロジェクト Projects

自分専用に欲しいアプリ、サービス、その他作品を開発して自由に垂れ流していくスタイル

Manabu English Vocabs

概要:英単語アプリ※ GREレベル。
プラットフォーム:現時点ではAndroidのみ。
今後のロードマップ:機能充実や学習を手助けするアップデートを予定しています。

Manabu English Vocabs Privacy Policy:
doc-hosting.flycricket.io/manabu-english-vocabs-privacy-policy/670f3148-ca59-4709-bc9b-5dced17e24ac/privacy

Manabu English Vocabs Terms of Use:
doc-hosting.flycricket.io/manabu-english-vocabs-terms-of-use/393e9ac8-487e-46a9-9e7a-0210491a254e/terms

スクリップ

概要:台本関連の投稿プラットフォーム
プラットフォーム:WEBサービス

現在開発中

Zyphone(仮)

概要:ゲーム
プラットフォーム:未定

現在開発中

Team Manabi

どうにか時間をつくって人生謳歌している人間。

Owl Girl

Engineer

Explore Our Blog

AWS S3 bucketでDjangoプロジェクト内のファイルを管理する方法

Django内でファイル管理をする事も可能ですが、ファイルが多くなる事が想定される場合は外部のストレージと連携して管理した方が良い・・・という事で、AWSのS3 bucketを利用して、画像などその他ファイルを管理できるように連携を行ってみました。 前提情報 ・AWS CLIは設定済み・AWS IAMでユーザー作成済み、アクセスキーも作成済み※AWS CLIとIAMユーザー・アクセスキーの作成は前回の記事を参考にどうぞ・WindowsのOSで、Powershellを利用しています インストールするモジュール django-storagesは、djangoを外部ストレージに連携できるようにする為に必要なモジュールです。boto3は、AWSとの連携に必要なモジュールです。django-environは、Djangoプロジェクトのsettings.pyに機密情報を直接記載せず、envファイルから値を読み込めるようにするモジュールです。※これらモジュールをインストールした後は、アプリケーションデプロイの時に必要なrequirements.txtを更新しておきましょう Djangoのsettings.pyにenvironを組み込む manage.pyがあるフォルダ層に.envファイルを作成。.envファイルの中に、機密情報を記入します。[…]

AWS CLI & AWS IAM 接続方法

今回AWS CLIを使って、AWSサービスにローカルPCからログイン&操作できるように環境を整えます。 AWSのIAMでユーザーを作成 ローカルPCからAWSリソースに接続をする場合、アクセスに利用するユーザー情報を作成する必要があります。 ユーザー名を決めて、「AWSマネジメントコンソールへユーザーアクセスを提供する」にチェックを入れます。私の場合はパスワードを自動生成ではなく自分で決めて、サインイン時にパスワードの作り直しは不要と設定しました。 一般的にはユーザーを含めるグループを作成し、そのグループに対してポリシーを設定しますが今回はユーザー単体に対してポリシーをアタッチしてみました。ポリシーは検索でも色々と調べられますので、アカウントに対して許可したい権限を付与してあげてください。 ユーザー作成完了後、アクセスキーを作成すればこの情報を使ってAWS CLIからAWSリソースにアクセスする事ができるようになります。 AWS CLIのインストール こちらのURL(公式サイト)に記載されている通りに、WindowsであればPowerShellにコマンドを打ってインストールを行う。Installing[…]

Github: ファイル名が勝手に大文字になる場合の対応方法

皆さんごきげんよう、Githubを利用していると、pushした際にまれにファイル名が勝手に大文字に変換されてしまいます。対応方法について残しておきます、少しでも参考になりますと幸いです。 原因 Gitのcore.ignorecaseをオフにする Gitはデフォルトで core.ignorecase = true になっていて、大文字小文字の違いを無視します。これを無効化するコマンドはこちら。 CLIを使った対応方法 Powershellでファイル名を修正して、コミットとプッシュ。