Exemplo n.º 1
0
def include_docs_urls(
        title=None,
        description=None,
        schema_url=None,
        public=True,
        patterns=None,
        generator_class=SchemaGenerator,
        authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES,
        permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES,
        renderer_classes=None):
    """
    Overriding default include_docs_urls provided by DRF to secure
    the documentation URLs.
    """
    docs_view = get_docs_view(
        title=title,
        description=description,
        schema_url=schema_url,
        public=public,
        patterns=patterns,
        generator_class=generator_class,
        authentication_classes=authentication_classes,
        renderer_classes=renderer_classes,
        permission_classes=permission_classes,
    )
    schema_js_view = get_schemajs_view(
        title=title,
        description=description,
        schema_url=schema_url,
        public=public,
        patterns=patterns,
        generator_class=generator_class,
        authentication_classes=authentication_classes,
        permission_classes=permission_classes,
    )
    urls = [
        url(r'^$', login_required(docs_view), name='docs-index'),
        url(r'^schema.js$', login_required(schema_js_view), name='schema-js')
    ]
    return include((urls, 'api-docs'), namespace='api-docs')
Exemplo n.º 2
0
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.urls import include
from django.urls import path
from django.views import defaults as default_views
from django.views.generic import TemplateView

from rest_framework.documentation import include_docs_urls
from rest_framework.documentation import get_schemajs_view
from rest_framework.authtoken.views import obtain_auth_token


schemajs_view = get_schemajs_view(title='IllumiDesk API')


urlpatterns = [
    path(settings.ADMIN_URL, admin.site.urls),
    path('', include('illumidesk.web.urls')),
    path('api/', include('config.api_router')),
    path('auth-token/', obtain_auth_token),
    path('accounts/', include('allauth.urls')),
    path('celery-progress/', include('celery_progress.urls')),
    path('docs/', include_docs_urls(title='IllumiDesk API Docs')),
    path('illumidesk/', include('illumidesk.examples.urls')),
    path('schemajs/', schemajs_view, name='api_schemajs'),
    path('stripe/', include('djstripe.urls', namespace='djstripe')),
    path('subscriptions/', include('illumidesk.subscriptions.urls')),
    path('teams/', include('illumidesk.teams.urls')),
    path('users/', include('illumidesk.users.urls')),
Exemplo n.º 3
0
        ('khro_app.commodities.urls', 'Commodities'), namespace='commodities')),
]

urlpatterns = [
    # Site-based URL patterns for hitting KHRO web portal login and dashboard
    path('', views.index, name='index'), # for hitting at the custom login index page
    path('admin/', admin.site.urls),
    # Toke based authentication
    path('api/token/', TokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('api/refresh/', TokenRefreshView.as_view(), name='token_refresh'),
    path('api-auth/', include('rest_framework.urls')),

    path('accounts/login/', views.login_view, name='login'), # URL for Login call to custom view
    path('datawizard/', include('data_wizard.urls')), # Call to smart data import wizard
	# Reset password urls
    path('password-reset/', auth_views.PasswordResetView.as_view(), name='password_reset'),
    path('password-reset/done/', auth_views.PasswordResetDoneView.as_view(), name='password_reset_done'),
    path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(), name='password_reset_confirm'),
    path('reset/done/', auth_views.PasswordResetCompleteView.as_view(), name='password_reset_complete'),
    # Change password urls
    path('password-change/', auth_views.PasswordChangeView.as_view(), name='password_change'),
    path('password_change/done/', auth_views.PasswordChangeDoneView.as_view(), name='password_change_done'),

    # API-based URL patterns for hitting KHRO endpoints for consuming data in JSON
    url(r'^api/', include((api_patterns, 'api'), namespace='api')),
    path('api/docs/', include_docs_urls(title='KHRO', public=False)),
    path('schema/', get_schemajs_view(title='KHRO', public=False)),
    path(r'swagger-docs/', schema_view),

] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) #configured to access root media
Exemplo n.º 4
0
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path, include
from rest_framework.documentation import include_docs_urls, get_schemajs_view
from django.views.generic import TemplateView
from django.conf.urls import url

schemajs_view = get_schemajs_view(title="API")

urlpatterns = [
    path('admin/', admin.site.urls),
    path('accounts/', include('allauth.urls')),
    path('users/', include('apps.users.urls')),
    path('subscriptions/', include('apps.subscriptions.urls')),
    path('web/', include('apps.web.urls')),
    path('pegasus/', include('pegasus.apps.examples.urls')),
    path('celery-progress/', include('celery_progress.urls')),
    # API docs
    # these are needed for schema.js
    path('docs/', include_docs_urls(title='API Docs')),
    url('schemajs/', schemajs_view, name='api_schemajs'),

    # djstripe urls - for webhooks
Exemplo n.º 5
0
from rest_framework import routers
from rest_framework.documentation import get_schemajs_view
from rest_framework.schemas import get_schema_view

from api.views import ArticleViewSet

schema = get_schema_view(title='DRF & Vue.js API schema')
schema_js = get_schemajs_view(title='DRF & Vue.js API schema')
router = routers.DefaultRouter()
router.register('article', ArticleViewSet)