0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Flask + SQLAlchemyで音楽共有SNSを作る - アプリケーション初期化編

Last updated at Posted at 2024-10-16

はじめに

前回の記事では必要なライブラリとモジュールのインポートについて解説しました。今回は、Flaskアプリケーションの初期化と基本的な設定について説明します。

Flaskアプリケーションの初期化

まず、Flaskアプリケーションを初期化し、重要な設定を行います。

app = Flask(__name__)

# アプリケーションの設定
app.config['SECRET_KEY'] = 'your-secret-key'
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///music_sns.db'
app.config['UPLOAD_FOLDER'] = 'static/uploads'
app.config['ALLOWED_EXTENSIONS'] = {'mp3', 'wav', 'ogg'}

各設定の説明

1. SECRET_KEY

app.config['SECRET_KEY'] = 'your-secret-key'
  • 用途: セッションデータの暗号化に使用する秘密鍵
  • 重要性: セッションの安全性を確保するために非常に重要
  • 注意点:
    • 実際の運用時は、この値を環境変数から読み込むなど、ソースコードに直接書かないようにしましょう
    • 十分に長く、予測困難な文字列を使用してください

2. SQLALCHEMY_DATABASE_URI

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///music_sns.db'
  • 用途: データベースの場所と種類を指定
  • 説明: この例では、SQLiteデータベースを使用し、music_sns.dbというファイル名で保存
  • 注意点:
    • 開発時はSQLiteが便利ですが、本番環境では他のデータベース(例:PostgreSQL)の使用を検討してください
    • パスは適切に設定してください。相対パスか絶対パスかに注意

3. UPLOAD_FOLDER

app.config['UPLOAD_FOLDER'] = 'static/uploads'
  • 用途: ユーザーがアップロードしたファイルの保存先を指定
  • 説明: この例では、static/uploadsディレクトリにファイルを保存
  • 注意点:
    • このディレクトリが存在することを確認してください
    • 適切なアクセス権限を設定し、セキュリティに注意してください

4. ALLOWED_EXTENSIONS

app.config['ALLOWED_EXTENSIONS'] = {'mp3', 'wav', 'ogg'}
  • 用途: アップロードを許可するファイル拡張子を指定
  • 説明: この例では、音楽ファイル(mp3, wav, ogg)のみを許可
  • 重要性: セキュリティ上重要な設定。不正なファイルのアップロードを防ぐ

まとめ

これらの設定は、Flaskアプリケーションの基本的な動作を定義し、セキュリティと機能の両面で重要な役割を果たします。適切に設定することで、安全で機能的な音楽共有SNSの基盤を作ることができます。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?