Heroku Django Маршрутизация входа в систему
Я пытаюсь сделать так, чтобы мой url.com переходил прямо на страницу входа в систему, а затем правильно маршрутизировался. Проблема в том, что я пытаюсь следовать https://learndjango.com/tutorials/django-login-and-logout-tutorial, но пытаюсь сделать это в специальном приложении для страниц, в котором я не уверен.
url.com -> должен отображать login.html, который расширяется из base.html, если пользователь не вошел в систему
pages/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
Думаю, мне нужно изменить здесь путь на что-то для base.html
pages/views.py
from django.shortcuts import render
def index(request):
return render(request,'registration/login.html')
Итак, эти два пункта составляют то, как запросить login.html из url.
settings.py
Думаю, последние две строки должны быть домашними.
portfolio/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path("", include("pages.urls")),
path('accounts/', include('django.contrib.auth.urls')),
]
Не уверен, что здесь нужны шаблоны url То, что я хочу использовать, это django.contrib.auth.urls в приложении с выделенной страницей.
В настоящее время работает только url.com/accounts/login, а url.com имеет неисправный логин, который ничего не делает.
В вашем файле settings.py вы можете разместить что-то вроде:
LOGIN_URL = '/login/'
и любое представление, для которого вы хотите, чтобы вход был обязательным, вы можете поместить это в views.py над соответствующей функцией:
@login_required
Итак, для представления индекса все, что вам нужно, это:
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
@login_required
def index(request):
Для получения более подробной информации смотрите документацию.
Вы можете использовать декоратор @login_required, который будет перенаправлять пользователя на страницу входа в систему, если пользователь не прошел аутентификацию.
from django.contrib.auth.decorators import login_required.
@login_required
def index(request):
# now the index function renders the home page
return render(request,'home.html')