使用现有 URL 作为登录名

Sha*_*ter 1 django url redirect templates

我是 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"),
              ]
Run Code Online (Sandbox Code Playgroud)

我有一个 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>
Run Code Online (Sandbox Code Playgroud)

而不是使用这个模板,我想做类似的事情

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

Run Code Online (Sandbox Code Playgroud)

我如何基本上将该 URL 粘贴到我的应用程序中,所以每次我输入 IP 地址时,它都会带我到https://example.com

Sha*_*riq 6

我想这就是你想要的,你可以直接将 URL 从 urls.py 本身重定向到其他一些 URl。

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'),
]
Run Code Online (Sandbox Code Playgroud)