#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'),
]