Используйте существующий URL-адрес в качестве входа в систему

#django #templates #url #redirect

#django #шаблоны #url #перенаправление

Вопрос:

Я новичок в Django, и мне нужна помощь в следующем. Каждый раз, когда кому-то нужно войти в мое приложение, я хочу, чтобы они были перенаправлены на существующий URL-адрес аутентификации: https://example.com

Я настроил следующее urls.py:

 from django.contrib import admin
from django.urls import path
from .views import *
from django.contrib.auth import views as auth_views


urlpatterns = [
    url(r'^admin/', admin.site.urls),
    path(r'', auth_views.LoginView.as_view(template_name="login.html"), name="login"),
              ]
 

У меня есть login.html шаблон»

 {% load static %}
<html>
<body>
  <head>
    <link rel="stylesheet" href="{% static 'css/login.css' %}">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
    <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  </head>

 <nav>
            <div class="nav-wrapper"> 
            <a>Quality Dashboard IDM</a>
            <ul id="nav-mobile" class="right hide-on-med-and-down">
           
            </ul>
            </div>
        </nav> 

<h2>Login</h2>
<form method="post">
  {% csrf_token %}
   {{ form.as_p }}
  <button type="submit">Login</button>
</form>

</body>
</html>
 

Вместо использования этого шаблона я хочу сделать что-то вроде

 urlpatterns = [
    url(r'^admin/', admin.site.urls),
    path(r'', url=https://example.com),
              ]

 

Как мне вставить этот URL-адрес в свое приложение, чтобы каждый раз, когда я вводил IP-адрес, он приводил меня к https://example.com ?

Ответ №1:

Я думаю, это то, что вы хотите, вы можете напрямую перенаправить URL-адрес на какой-либо другой URL-адрес из urls.py сама по себе.

 from django.views.generic import RedirectView

urlpatterns = [
    path('some_existing_url/', RedirectView.as_view(url='http://www.google.com')),
    path('login/', auth_views.LoginView.as_view(redirect_authenticated_user=True), name='login'),
    path('logout/', auth_views.LogoutView.as_view(), name='logout'),
]