学生向けプログラミング入門 | 無料

学生向けにプログラミングを無料で解説。Java、C++、Ruby、PHP、データベース、Ruby on Rails, Python, Django

Django3.2 | クラウドソーシングアプリの構築 | 19 | Firebase

↓↓クリックして頂けると励みになります。


18 | パスワード更新】 << 【ホーム】 >> 【20 | 電話番号フォーム


まず、FireBaseサイトでアカウントを作成します。
firebase.google.com


コンソールにGoogleアカウントでログインし、「使ってみる」をクリックします。

使ってみる
使ってみる



「プロジェクトを作成」をクリックします。

プロジェクトを作成
プロジェクトを作成



プロジェクトに名前をつけ、進みます。

プロジェクトに名前をつける
プロジェクトに名前をつける



まだ開発段階なので、Googleアナティクスはオフにしてプロジェクトを作成します。

Googleアナティクス オフ
Googleアナティクス オフ



作成完了したら次へ進みます。

プロジェクト作成完了
プロジェクト作成完了



アプリ追加の「Web」をクリックします。

Webをクリック
Webをクリック



ニックネームを入力し、「アプリを登録」をクリックします。

ニックネーム入力
ニックネーム入力



表示される「firebaseConfig」のコードをコピーします。

「firebaseConfig」のコードをコピー
「firebaseConfig」のコードをコピー



コピーしたら「コンソール」に進みます。

コンソールに進む
コンソールに進む



「Authentication」をクリックします。

Authentication
Authentication



「始める」をクリックします。

始める
始める



「Sign-In method」で電話番号を選択します。

電話番号を選択
電話番号を選択



「有効」にして保存します。

有効にして保存
有効にして保存



「core/templates/customer/profile.html」ファイルを編集します。
14行目の「const firebaseConfig」の内容はご自分の「firebaseConfig」の内容に置き換えて下さい。


記述編集 【Desktop/crowdsource/core/templates/customer/profile.html】

{% extends 'customer/base.html' %}
{% load bootstrap4 %}

{% block head %}
<!-- The core Firebase JS SDK is always required and must be listed first -->
<script src="https://www.gstatic.com/firebasejs/8.2.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.2.1/firebase-auth.js"></script>

<!-- TODO: Add SDKs for Firebase products that you want to use
     https://firebase.google.com/docs/web/setup#available-libraries -->

<script>
  // ご自分のFirebaseConfigに置き換えてください。
  const firebaseConfig = {
    apiKey: "AIzaSyCGdXmGo",
    authDomain: "clowdsource-f1701.firebaseapp.com",
    projectId: "clowdsource-f1701",
    storageBucket: "clowdsource-f1701.appspot.com",
    messagingSenderId: "647885698103",
    appId: "1:647885698103:web:a8fc303ada"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
</script>
{% endblock %}

{% block main %}
<!-- 基本情報 -->
<b class="text-secondary">基本情報</b><br />
<div class="card bg-white mt-2 mb-5">
  <div class="card-body">
    <form method="POST" enctype="multipart/form-data">
      {% csrf_token %}
      {% bootstrap_form user_form %}
      {% bootstrap_form customer_form %}
      <input type="hidden" name="action" value="update_profile">
      <button type="submit" class="btn btn-danger">保存</button>
    </form>
  </div>
</div>

<!-- パスワード -->
<b class="text-secondary">パスワード更新</b><br />
<div class="card bg-white mt-2 mb-5">
  <div class="card-body">
    <form method="POST" enctype="multipart/form-data">
      {% csrf_token %}
      {% bootstrap_form password_form %}
      <input type="hidden" name="action" value="update_password">
      <button type="submit" class="btn btn-danger">保存</button>
    </form>
  </div>
</div>

{% endblock %}



Firebase-adminをインストールします。
コマンド
pip install firebase-admin==4.4.0


秘密の鍵をダウンロードします。

サービスとアカウント
サービスとアカウント


新しい鍵を生成
新しい鍵を生成


キーを生成
キーを生成



ダウンロードされた「clowdsource-f1701-firebase-adminsdk-azvhm-***.json」ファイルをデスクトップに「secret」というフォルダを作成してその中に入れておきます。
このファイルは、GithubなどPublicに公開しないよう注意してください。


「crowdsource/settings.py」ファイルに記述を追加します。


一部「***」で記述を隠していますが、ユーザ名や秘密鍵のファイル名など、ご自分の環境に合わせてください。
記述追加 「Desktop/crowdsource/crowdsource/settings.py」162行目(末尾)

FIREBASE_ADMIN_CREDENTIAL = os.path.join(BASE_DIR, "/Users/***/Desktop/secret/clowdsource-f1701-firebase-adminsdk-azvhm-***.json")



これでFirebaseの設定は終了です。

↓↓クリックして頂けると励みになります。


18 | パスワード更新】 << 【ホーム】 >> 【20 | 電話番号フォーム