1. from django.contrib.auth import views as auth_views
    
  2. from django.urls import path
    
  3. from django.views.generic import RedirectView
    
  4. 
    
  5. from . import views
    
  6. 
    
  7. urlpatterns = [
    
  8.     path("upload_view/", views.upload_view, name="upload_view"),
    
  9.     path("get_view/", views.get_view, name="get_view"),
    
  10.     path("post_view/", views.post_view),
    
  11.     path("post_then_get_view/", views.post_then_get_view),
    
  12.     path("put_view/", views.put_view),
    
  13.     path("trace_view/", views.trace_view),
    
  14.     path("header_view/", views.view_with_header),
    
  15.     path("raw_post_view/", views.raw_post_view),
    
  16.     path("redirect_view/", views.redirect_view),
    
  17.     path("redirect_view_307/", views.method_saving_307_redirect_view),
    
  18.     path(
    
  19.         "redirect_view_307_query_string/",
    
  20.         views.method_saving_307_redirect_query_string_view,
    
  21.     ),
    
  22.     path("redirect_view_308/", views.method_saving_308_redirect_view),
    
  23.     path(
    
  24.         "redirect_view_308_query_string/",
    
  25.         views.method_saving_308_redirect_query_string_view,
    
  26.     ),
    
  27.     path("secure_view/", views.view_with_secure),
    
  28.     path(
    
  29.         "permanent_redirect_view/",
    
  30.         RedirectView.as_view(url="/get_view/", permanent=True),
    
  31.     ),
    
  32.     path(
    
  33.         "temporary_redirect_view/",
    
  34.         RedirectView.as_view(url="/get_view/", permanent=False),
    
  35.     ),
    
  36.     path("http_redirect_view/", RedirectView.as_view(url="/secure_view/")),
    
  37.     path(
    
  38.         "https_redirect_view/",
    
  39.         RedirectView.as_view(url="https://testserver/secure_view/"),
    
  40.     ),
    
  41.     path("double_redirect_view/", views.double_redirect_view),
    
  42.     path("bad_view/", views.bad_view),
    
  43.     path("form_view/", views.form_view),
    
  44.     path("form_view_with_template/", views.form_view_with_template),
    
  45.     path("json_view/", views.json_view),
    
  46.     path("login_protected_view/", views.login_protected_view),
    
  47.     path("login_protected_method_view/", views.login_protected_method_view),
    
  48.     path(
    
  49.         "login_protected_view_custom_redirect/",
    
  50.         views.login_protected_view_changed_redirect,
    
  51.     ),
    
  52.     path("permission_protected_view/", views.permission_protected_view),
    
  53.     path(
    
  54.         "permission_protected_view_exception/",
    
  55.         views.permission_protected_view_exception,
    
  56.     ),
    
  57.     path("permission_protected_method_view/", views.permission_protected_method_view),
    
  58.     path("session_view/", views.session_view),
    
  59.     path("broken_view/", views.broken_view),
    
  60.     path("mail_sending_view/", views.mail_sending_view),
    
  61.     path("mass_mail_sending_view/", views.mass_mail_sending_view),
    
  62.     path("nesting_exception_view/", views.nesting_exception_view),
    
  63.     path("django_project_redirect/", views.django_project_redirect),
    
  64.     path(
    
  65.         "no_trailing_slash_external_redirect/",
    
  66.         views.no_trailing_slash_external_redirect,
    
  67.     ),
    
  68.     path(
    
  69.         "", views.index_view, name="index"
    
  70.     ),  # Target for no_trailing_slash_external_redirect/ with follow=True
    
  71.     path("two_arg_exception/", views.two_arg_exception),
    
  72.     path("accounts/", RedirectView.as_view(url="login/")),
    
  73.     path("accounts/no_trailing_slash", RedirectView.as_view(url="login/")),
    
  74.     path("accounts/login/", auth_views.LoginView.as_view(template_name="login.html")),
    
  75.     path("accounts/logout/", auth_views.LogoutView.as_view()),
    
  76.     # Async views.
    
  77.     path("async_get_view/", views.async_get_view, name="async_get_view"),
    
  78. ]