Настроенный сайт для входа не отображается в Django

Я создал Django App и хочу предоставить пользовательскую страницу входа с возможностью использовать только логин Google.

Я реализовал вход в Google на основе этого сообщения: https://www.section.io/engineering-education/django-google-oauth/. Это действительно работает хорошо, и когда я нажимаю localhost/account/login, я получаю страницу входа: Django standard login screen

На самом деле мне не нужна регистрация и "локальный" вход, мне нужен только логин Google.

Для достижения этой цели я создал следующую структуру папок, чтобы перезаписать шаблон входа (основанный на https://learndjango.com/tutorials/django-login-and-logout-tutorial): MyApp/templaltes/registration/login.html

Folder structure

login.html имеет следующее содержание:

{% extends "base.html" %}
{% load i18n %}
{% load socialaccount %}
{% block content %}
    <div class="row">
        <center><h1>{% trans 'LoginHeading' %}</h1></center>
    </div>
    {% if user.is_authenticated %}
        <p>Welcome, You are logged in as {{ user.username }}</p>
    {% else %}
        <a href="{% provider_login_url 'google' %}">Login With Google</a>
    {% endif %}
{% endblock %}

Я также добавил 'DIRS': [str(BASE_DIR.joinpath('templates'))] в раздел TEMPLATES в settings.py.

К сожалению, я все еще вижу стандартную страницу входа в Django. Что я упускаю?

(я также перезапустил сервер dev, чтобы убедиться, что это не проблема, с тем же результатом)

Я разобрался с этим. После внимательного прочтения документации Allauth я обнаружил следующее:

Например, представление, соответствующее URL-адресу account_login, использует шаблон account/login.html. Если вы создадите файл с таким именем в вашей схеме кода, он может перекрыть тот, который поставляется с allauth.

.

Поэтому я изменил структуру папок на account/login.html и он работает.

Вернуться на верх