{"id":6024,"date":"2020-06-01T07:31:05","date_gmt":"2020-05-31T22:31:05","guid":{"rendered":"http:\/\/blog.jansnap.com\/?p=6024"},"modified":"2021-12-19T20:36:07","modified_gmt":"2021-12-19T11:36:07","slug":"django-allauth%e3%81%a7%e3%83%ad%e3%82%b0%e3%82%a4%e3%83%b3%e6%a9%9f%e8%83%bd%e3%83%a6%e3%83%bc%e3%82%b6%e8%aa%8d%e8%a8%bc%e6%a9%9f%e8%83%bd%e3%82%92%e5%ae%9f%e8%a3%85%e3%81%99%e3%82%8b","status":"publish","type":"post","link":"https:\/\/blog.jansnap.com\/?p=6024","title":{"rendered":"django-allauth\u3067\u30ed\u30b0\u30a4\u30f3\u6a5f\u80fd(\u30e6\u30fc\u30b6\u8a8d\u8a3c\u6a5f\u80fd)\u3092\u5b9f\u88c5\u3059\u308b"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%A6%82%E8%A6%81\"><\/span>\n\u6982\u8981<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Django\u306e\u30ed\u30b0\u30a4\u30f3\u6a5f\u80fd(\u30e6\u30fc\u30b6\u8a8d\u8a3c)\u306e\u5b9f\u88c5\u306b\u306f\u3001\u6a19\u6e96\u306e<code>django.contrib.auth<\/code>\u304c\u3042\u308b\u3002(<a href=\"https:\/\/docs.djangoproject.com\/en\/3.0\/topics\/auth\/\" rel=\"nofollow noopener\" target=\"_blank\">\u516c\u5f0f\u30da\u30fc\u30b8<\/a>)<\/li><li>\n<code>django-allauth<\/code>\u3092\u4f7f\u3046\u3068\u3001\u7c21\u5358\u306b\u5b9f\u88c5\u3067\u304d\u308b\n\n<ul>\n<li>Twitter\u30a2\u30ab\u30a6\u30f3\u30c8\u3084GitHub\u30a2\u30ab\u30a6\u30f3\u30c8\u306a\u3069\u3067\u3082\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u308b\u3002<a href=\"https:\/\/www.intenct.nl\/projects\/django-allauth\/\" rel=\"nofollow noopener\" target=\"_blank\">\u516c\u5f0f\u30da\u30fc\u30b8<\/a>\u3001<a href=\"https:\/\/django-allauth.readthedocs.io\/en\/latest\/index.html\" rel=\"nofollow noopener\" target=\"_blank\">\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a>\u3092\u53c2\u7167\u3002\u500b\u5225\u306b\u8a2d\u5b9a\u304c\u5fc5\u8981\u306a\u306e\u3067\u3001\u4eca\u56de\u306f\u5272\u611b\u3002<\/li>\n<\/ul>\n<\/li><li>\u4eca\u56de\u306f\u3001\u30e1\u30eb\u30a2\u30c9\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u306e\u8a8d\u8a3c\u306b\u3059\u308b<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%92%B0%E5%A2%83\"><\/span>\n\u74b0\u5883<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Python 3.6.9 (2019-07-02)<\/li><li>Django 3.0.3 (2020-02-03)<\/li><li>django-allauth 0.41.0 (2019-12-18)<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%BA%96%E5%82%99\"><\/span>\n\u6e96\u5099<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>django-admin\u306e<code>startproject<\/code>\u3067\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304a\u304f<\/li><li>manage.py\u306e<code>createsuperuser<\/code>\u3067\u3001\u7ba1\u7406\u8005\u30e6\u30fc\u30b6\u3092\u4f5c\u6210\u3057\u3066\u304a\u304f<\/li><li>\u30d1\u30b9\u30ef\u30fc\u30c9\u30ea\u30bb\u30c3\u30c8\u306e\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b\u306e\u3067\u3001\u30e1\u30fc\u30eb\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u3066\u304a\u304f(Gmail\u3068\u304b)\n\n<ul>\n<li>Gmail\u3092\u4f7f\u3046\u5834\u5408\u306f\u300c\u5b89\u5168\u6027\u306e\u4f4e\u3044\u30a2\u30d7\u30ea\u306e\u30a2\u30af\u30bb\u30b9\u300d\u3092\u300c\u6709\u52b9\u300d\u306b\u3057\u3066\u304a\u304f\u5fc5\u8981\u304c\u3042\u308b<\/li>\n<\/ul>\n<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"django-allauth_%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB\"><\/span>\ndjango-allauth \u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><code>pip install django-allauth<\/code><\/li><li>\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001<code>pip freeze > requirements.txt<\/code>\u3067\u30d1\u30c3\u30b1\u30fc\u30b8\u30ea\u30b9\u30c8\u3092\u66f4\u65b0<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%AE%9F%E8%A3%85\"><\/span>\n\u5b9f\u88c5<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"settingspy_%E3%81%AE%E5%A4%89%E6%9B%B4\"><\/span>\nsettings.py \u306e\u5909\u66f4<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>INSTALLED_APPS \u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">    'django.contrib.sites',\n    'allauth',\n    'allauth.account',\n    'allauth.socialaccount',    # \u30bd\u30fc\u30b7\u30e3\u30eb\u9023\u643a\u8a8d\u8a3c\u3092\u4f7f\u3063\u3066\u3044\u306a\u3044\u5834\u5408\u3067\u3082\u5fc5\u8981<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>TEMPLATES \u306e\u2019context_processors\u2019\u5185\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">        'OPTIONS': {\n            'context_processors': [\n                'django.template.context_processors.debug',\n                'django.template.context_processors.request',\n                'django.contrib.auth.context_processors.auth',\n                'django.contrib.messages.context_processors.messages',\n                # `allauth` needs this from django\n                'django.template.context_processors.request',\n            ],\n        },<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>\u30e1\u30eb\u30a2\u30c9\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u8a8d\u8a3c\u3059\u308b\u305f\u3081\u306b\u3001\u8a8d\u8a3c\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3092\u8a2d\u5b9a\nMIDDLEWARE\u306e\u8a2d\u5b9a\u306e\u6b21\u3042\u305f\u308a\u306b\u3001\u4ee5\u4e0b\u3092\u8ffd\u52a0(\u516c\u5f0f\u30b5\u30a4\u30c8\u3067\u306f\u4e38\u30ab\u30c3\u30b3\u3067\u306f\u306a\u304f\u89d2\u30ab\u30c3\u30b3\u306a\u306e\u3067\u6ce8\u610f)<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">AUTHENTICATION_BACKENDS = [\n    'django.contrib.auth.backends.ModelBackend',\n    'allauth.account.auth_backends.AuthenticationBackend',\n]<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>\u4e00\u756a\u4e0b\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\"># sites\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u7528\u306e\u30b5\u30a4\u30c8ID\nSITE_ID = 1\n\n# \u30ed\u30b0\u30a4\u30f3\u30fb\u30ed\u30b0\u30a2\u30a6\u30c8\u6642\u306e\u30ea\u30c0\u30a4\u30ec\u30af\u30c8\u5148\nLOGIN_REDIRECT_URL = 'home'\nACCOUNT_LOGOUT_REDIRECT_URL = '\/accounts\/login\/'\n\n# \u8a8d\u8a3c\u65b9\u5f0f\u3092\u300c\u30e1\u30eb\u30a2\u30c9\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u300d\u306b\u8a2d\u5b9a\nACCOUNT_AUTHENTICATION_METHOD = 'email'\n# \u30e6\u30fc\u30b6\u540d\u306f\u4f7f\u7528\u3057\u306a\u3044\nACCOUNT_USERNAME_REQUIRED = False\n\n# \u30e6\u30fc\u30b6\u767b\u9332\u6642\u306b\u78ba\u8a8d\u30e1\u30fc\u30eb\u3092\u9001\u4fe1\u3059\u308b\u304b(none=\u9001\u4fe1\u3057\u306a\u3044, mandatory=\u9001\u4fe1\u3059\u308b)\nACCOUNT_EMAIL_VERIFICATION = 'none'\nACCOUNT_EMAIL_REQUIRED = True   # \u30e6\u30fc\u30b6\u767b\u9332\u306b\u30e1\u30eb\u30a2\u30c9\u5fc5\u9808\u306b\u3059\u308b<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"urlspy_%E3%81%AE%E4%BF%AE%E6%AD%A3\"><\/span>\nurls.py \u306e\u4fee\u6b63<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\u4ee5\u4e0b\u3092\u8ffd\u52a0<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">from django.urls import include, path   # include\u3092\u8ffd\u52a0\nfrom django.views.generic import TemplateView   # \u8ffd\u52a0<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\"><li>urlpatterns \u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">    path('', TemplateView.as_view(template_name='home.html'), name='home'),\n    path('accounts\/', include('allauth.urls')),\n    # path('accounts\/', include('django.contrib.auth.urls')), # \u4e0d\u8981<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%9F%BA%E5%BA%95%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E4%BF%AE%E6%AD%A3\"><\/span>\n\u57fa\u5e95\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u4fee\u6b63<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>templates\/base.html \u5185\u306ebody\u30d6\u30ed\u30c3\u30af\u306e\u4e0b\u306b\u3001\u4ee5\u4e0b\u3092\u8ffd\u52a0<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">      {% block content %}\n      {% endblock %}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"home%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%81%AE%E8%BF%BD%E5%8A%A0\"><\/span>\nhome\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u8ffd\u52a0<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>templates\/home.html \u3092\u4f5c\u6210\u3059\u308b<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">{% extends \"base.html\" %}\n{% block title %}Home{% endblock %}\n{% load static %}\n\n{% block body %}\nthis is home.html\n{% endblock %}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"DB%E3%81%AB%E3%83%9E%E3%82%A4%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%AE%9F%E8%A1%8C\"><\/span>\nDB\u306b\u30de\u30a4\u30b0\u30ec\u30fc\u30b7\u30e7\u30f3\u5b9f\u884c<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><code>python3 manage.py migrate<\/code><\/li><\/ul>\n\n\n\n<p>(\u76f4\u524d\u306bDB\u521d\u671f\u5316\u3057\u305f\u5834\u5408\u306f\u3001<code>createsuperuser<\/code> \u3082\u5b9f\u884c)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%A7%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8D\"><\/span>\n\u30d6\u30e9\u30a6\u30b6\u3067\u52d5\u4f5c\u78ba\u8a8d<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><p>web\u30b5\u30fc\u30d0\u8d77\u52d5<br>\n<code>python3 manage.py runserver 0.0.0.0:8000<\/code><\/p><\/li><li>\n<p>\u30ed\u30b0\u30a4\u30f3\u753b\u9762\u304b\u3089\u30ed\u30b0\u30a4\u30f3<br>\n<a href=\"http:\/\/localhost:8000\/account\/login\/\" class=\"autolink\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/localhost:8000\/account\/login\/<\/a> \u3092\u958b\u304f<\/p>\n\n<ul>\n<li>\u3053\u3053\u3067\u30ed\u30b0\u30a4\u30f3\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u305a\u3001home(<a href=\"http:\/\/localhost:8000\" class=\"autolink\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/localhost:8000<\/a>) \u306b\u98db\u3070\u3055\u308c\u308b\u5834\u5408\u306f\u3001\u3059\u3067\u306b\u30ed\u30b0\u30a4\u30f3\u6e08\u307f\u306a\u306e\u3067\u3001\u30af\u30c3\u30ad\u30fc\u3092\u6d88\u3059\u304b\u3001<a href=\"http:\/\/localhost:8000\/account\/logout\/\" class=\"autolink\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/localhost:8000\/account\/logout\/<\/a> \u3092\u8868\u793a\u3057\u3066\u3001\u300cSign Out\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u30ed\u30b0\u30a2\u30a6\u30c8\u3059\u308b)<\/li>\n<\/ul>\n<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%83%A6%E3%83%BC%E3%82%B6%E5%90%8D%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B\"><\/span>\n\u30e6\u30fc\u30b6\u540d\u3092\u8868\u793a\u3059\u308b<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306b\u4ee5\u4e0b\u3092\u8ffd\u52a0\u3059\u308b\u3068\u3001\u30ed\u30b0\u30a4\u30f3\u4e2d\u306e\u30e6\u30fc\u30b6\u540d\u304c\u8868\u793a\u3067\u304d\u308b<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"text\" class=\"language-text\">{% load account %}\n\n{% user_display user %}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E3%83%A6%E3%83%BC%E3%82%B6%E8%AA%8D%E8%A8%BC%E9%96%A2%E9%80%A3%E3%81%AE%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E9%85%8D%E7%BD%AE\"><\/span>\n\u30e6\u30fc\u30b6\u8a8d\u8a3c\u95a2\u9023\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u306e\u914d\u7f6e<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>templates\u3068\u3044\u3046\u30d5\u30a9\u30eb\u30c0\u306b\u5404\u30a2\u30d7\u30ea\u306e\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3092\u307e\u3068\u3081\u3066\u914d\u7f6e\u3057\u3066\u3042\u308b\u3068\u3057\u3066\u3001<\/li><li><code>cp -r \/usr\/local\/lib\/python3.6\/dist-packages\/allauth\/templates\/account templates\/<\/code><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%8F%82%E8%80%83%E6%9B%B8%E7%B1%8D\"><\/span>\n\u53c2\u8003\u66f8\u7c4d<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>\u300c<a href=\"https:\/\/www.amazon.co.jp\/dp\/B07L3DRGBT\" rel=\"nofollow noopener\" target=\"_blank\">\u73fe\u5834\u3067\u4f7f\u3048\u308bDjango\u306e\u6559\u79d1\u66f8 \u5b9f\u8df5\u7de8<\/a>\u300d\u3001\u6a2a\u702c\u662d\u4ec1\u30fb\u8457<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E5%8F%82%E8%80%83URL\"><\/span>\n\u53c2\u8003URL<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/django-allauth.readthedocs.io\/en\/latest\/index.html\" rel=\"nofollow noopener\" target=\"_blank\">django-allauth \u30c9\u30ad\u30e5\u30e1\u30f3\u30c8<\/a><\/li><li><a href=\"https:\/\/www.intenct.nl\/projects\/django-allauth\/\" rel=\"nofollow noopener\" target=\"_blank\">django-allauth \u516c\u5f0f\u30da\u30fc\u30b8<\/a><\/li><li><a href=\"https:\/\/qiita.com\/kwashi\/items\/8421cf45bfaee9e6e238\" id=\"reference-7c563aef23b1a80c2e33\">Django allauth\u306b\u304a\u3051\u308b\u30ed\u30b0\u30a4\u30f3\u753b\u9762\u306e\u4f5c\u6210<\/a><\/li><li>\n<p><a href=\"https:\/\/nwpct1.hatenablog.com\/entry\/django-oauth-twitter-facebook-github\" rel=\"nofollow noopener\" target=\"_blank\">Django\u306e\u30e6\u30fc\u30b6\u8a8d\u8a3c\u307e\u3068\u3081<\/a><\/p>\n\n<ul>\n<li>\u8a18\u4e8b\u304c2015\u5e74\u3068\u53e4\u3044\u304c\u3001\u30ed\u30b0\u30a4\u30f3\u6e08\u307f\u30e6\u30fc\u30b6\u306e\u307f\u95b2\u89a7\u3067\u304d\u308b\u30da\u30fc\u30b8(<code>login_required<\/code>\u30c7\u30b3\u30ec\u30fc\u30bf)\u3084\u3001User\u30e2\u30c7\u30eb\u306e\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u306a\u3069\u304c\u66f8\u304b\u308c\u3066\u3044\u308b\u3002<\/li>\n<\/ul>\n<\/li><li>\n<p><a href=\"https:\/\/sinyblog.com\/django\/django-allauth\/\" rel=\"nofollow noopener\" target=\"_blank\">\u7206\u901f\u3067\u4f5c\u308c\u308bDjango\u30e6\u30fc\u30b6\u8a8d\u8a3c\u6a5f\u80fd\u3010django-allauth\u3011<\/a><\/p>\n\n<ul>\n<li>\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u66f8\u304d\u63db\u3048\u304c\u3001\u300c\\venv<\u4eee\u60f3\u74b0\u5883\u540d>\\Lib\\site-packages\\allauth\\templates\u300d\u3092\u76f4\u63a5\u66f8\u304d\u63db\u3048\u308b\u3088\u3046\u306b\u66f8\u304b\u308c\u3066\u3044\u308b\u306e\u3067\u3001\u30c7\u30d7\u30ed\u30a4\u6642\u306b\u6ce8\u610f\u3002<\/li>\n<\/ul>\n<\/li><li><p><a href=\"https:\/\/qiita.com\/yukidallas\/items\/12ce3af85a38aaa58332\" id=\"reference-4a4b1112426a2b058dcf\">django-allauth\u3067\u30ed\u30b0\u30a4\u30f3\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b<\/a><\/p><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Django\u306e\u30ed\u30b0\u30a4\u30f3\u6a5f\u80fd(\u30e6\u30fc\u30b6\u8a8d\u8a3c)\u306e\u5b9f\u88c5\u306b\u306f\u3001\u6a19\u6e96\u306edjango.contrib.auth\u304c\u3042\u308b\u3002(\u516c\u5f0f\u30da\u30fc\u30b8)<br \/>\ndjango-allauth\u3092\u4f7f\u3046\u3068\u3001\u7c21\u5358\u306b\u5b9f\u88c5\u3067\u304d\u308b<br \/>\nTwitter\u30a2\u30ab\u30a6\u30f3\u30c8\u3084GitHub\u30a2\u30ab\u30a6\u30f3\u30c8\u306a\u3069\u3067\u3082\u30ed\u30b0\u30a4\u30f3\u3067\u304d\u308b\u3002\u516c\u5f0f\u30da\u30fc\u30b8\u3001\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3092\u53c2\u7167\u3002\u500b\u5225\u306b\u8a2d\u5b9a\u304c\u5fc5\u8981\u306a\u306e\u3067\u3001\u4eca\u56de\u306f\u5272\u611b\u3002<br \/>\n\u4eca\u56de\u306f\u3001\u30e1\u30eb\u30a2\u30c9\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3067\u306e\u8a8d\u8a3c\u306b\u3059\u308b<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4106,4107,4108,4070,4071,4150],"tags":[4103,4104,4105,4066,4149],"class_list":["post-6024","post","type-post","status-publish","format-standard","hentry","category-django","category-django-allauth","category-django30","category-python","category-python3","category-4150","tag-django","tag-django-allauth","tag-django30","tag-python3","tag-4149"],"_links":{"self":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts\/6024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6024"}],"version-history":[{"count":2,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts\/6024\/revisions"}],"predecessor-version":[{"id":6283,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=\/wp\/v2\/posts\/6024\/revisions\/6283"}],"wp:attachment":[{"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jansnap.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}