DjangoでGitHubOAuthを有効にする
多くの開発者のWebサイトで、非常に便利なGitHubソーシャル認証を見ることができます。この記事では、DjangoWebサイトにGithubAuthを追加する方法を説明します。
https://github.com/settings/developers/にアクセスし、Oauthアプリケーションを作成して、これら2つのURLを追加します
-
https://127.0.0.1:8000/
-
https://127.0.0.1:8000/accounts/github/login/callback
次に、クライアントIDと秘密鍵を取得します。それでは、コーディングの部分に移りましょう。
例
django-allauthをインストールします ライブラリ-
pip install django-allauth
settings.py内 次のコード行を追加します-
INSTALLED_APPS = [ ################## # # # # 'django.contrib.sites', 'allauth', 'allauth.account', 'allauth.socialaccount', 'allauth.socialaccount.providers.github', 'githubAuthentication' ] SITE_ID = 1 AUTHENTICATION_BACKENDS= [ 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend' ] LOGIN_REDIRECT_URL="https://github.com"
nインストール済みのアプリ、必要なインポートライブラリを追加してから、GitHubのデフォルトの認証バックエンドを追加しました。また、ログイン時にリダイレクトする場所を示すリダイレクトURLを有効にしました。
urls.py内 プロジェクトルートの-
from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), # this is module path copy this as it is path('accounts/', include('allauth.urls')), # this is my app path path('', include("githubAuthentication.urls")) ]
ここでは、追加に必要なデフォルトのパスを追加しました。これは、GitHubログインを有効にするためのallauthライブラリパスです。 2つ目は、作成したアプリパスです。
次に、http:// localhost:8000 / adminに移動し、ソーシャルアプリケーションに移動します。
そして、アプリケーションを追加します-
クライアントIDを貼り付けます および秘密鍵 以前にコピーしたもので、名前はアプリケーション名である必要があります。プロバイダーgithub。を選択してください。
サイト セクションで、 example.comをクリックします 次に、矢印キーをクリックして[保存]をクリックします。これにより、 githubが登録されます Djangoプロジェクトで認証バックエンドとして使用します。
次に、 home.htmlを作成します テンプレートで フォルダを作成し、次の行を追加します-
<!DOCTYPE html> <html> <head> <title>tut</title> </head> <body> {% load socialaccount %} {% providers_media_js %} <a href="{% provider_login_url 'github' method='js_sdk' %}?n ext=https://github.com">login with github</a> </body> </html>
ここでは、JSをレンダリングし、 allauthをロードしました。 フロントエンドのライブラリ。 で デフォルトのgithubログインページを設定するgithubログインページを提供しました。
view.pyで −
from django.shortcuts import render # Create your views here. def home(request): return render(request,"home.html")
ここでフロントエンドをレンダリングしました
urls.py内 (アプリのURL)-
from django.urls import path,include from . import views urlpatterns = [ path('',views.home, name="Home" ), ]
ここでURLを設定し、ビューをレンダリングしました。
すべてが完了したので、出力の確認に進むことができます。
出力
-
Djangoのモデルインスタンスに翻訳を追加する
この記事では、任意のインスタンスの翻訳を作成する方法を学習します。 ID、名前、引用符、行などのデータを保存する必要がある場合があります。そのデータを異なる言語でレンダリングする必要がある場合があります。そのためには、多くのデータベース処理を行う必要がありますが、今日は、ほんの数行のセットアップで同じ結果を得る方法を紹介します。 Djangoプロジェクトとアプリを作成します。 URLを設定する INSTALLED_APPSにアプリを追加するなどの基本的な操作を行います。 モデルを作成します。ここでは、 views.py、urls.pyとはあまり関係がありません。 または任意のhtmlフ
-
DjangoでMoneyフィールドを追加するにはどうすればよいですか?
場合によっては、給与、手数料、収入など、お金に関連するデータをWebサイトに追加する必要があります。 Djangoは整数フィールドを提供しますが、多くの場合、それは私たちが望むようには機能しません。したがって、お金のフィールドを処理するために、モデルにお金のフィールドを追加する3番目のパッケージライブラリを使用できます。 プロジェクトとアプリを作成し、 MoneyFieldDemoという名前を付けました およびmyapp。 URLなどの基本的な設定を行います およびINSTALLED_APPS。 はい、ライブラリをインストールします- pip install django-mone