Handle reverse_lazy

Fixes #209.
openapi3
Cristi Vîjdea 2018-09-13 03:38:13 +03:00
parent 586b88d8f3
commit 857ef05b07
2 changed files with 7 additions and 1 deletions

View File

@ -1,6 +1,7 @@
import six import six
from django.shortcuts import render, resolve_url from django.shortcuts import render, resolve_url
from django.utils.functional import Promise
from rest_framework.renderers import BaseRenderer, JSONRenderer, TemplateHTMLRenderer from rest_framework.renderers import BaseRenderer, JSONRenderer, TemplateHTMLRenderer
from rest_framework.utils import json from rest_framework.utils import json
@ -81,6 +82,9 @@ class _UIRenderer(BaseRenderer):
renderer_context.update(self.get_auth_urls()) renderer_context.update(self.get_auth_urls())
def resolve_url(self, to): def resolve_url(self, to):
if isinstance(to, Promise):
to = str(to)
if to is None: if to is None:
return None return None

View File

@ -1,6 +1,8 @@
import os import os
# Build paths inside the project like this: os.path.join(BASE_DIR, ...) # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
from django.urls import reverse_lazy
BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
ALLOWED_HOSTS = [ ALLOWED_HOSTS = [
@ -91,7 +93,7 @@ REST_FRAMEWORK = {
# drf-yasg # drf-yasg
SWAGGER_SETTINGS = { SWAGGER_SETTINGS = {
'LOGIN_URL': '/admin/login', 'LOGIN_URL': reverse_lazy('admin:login'),
'LOGOUT_URL': '/admin/logout', 'LOGOUT_URL': '/admin/logout',
'DEFAULT_INFO': 'testproj.urls.swagger_info', 'DEFAULT_INFO': 'testproj.urls.swagger_info',