Beispiel #1
0
    def test_get_user_detail(self):
        factory = APIRequestFactory()
        view = UserDetail.as_view()

        user = User.objects.create(id=2,
                                   username='******',
                                   password='******',
                                   email='*****@*****.**')

        request = factory.get('/api/users/2')
        force_authenticate(request,
                           user=self.test_user,
                           token=self.full_access_token)
        response = view(request, pk='2')

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(user.username, response.data['username'])
        self.assertEqual(user.email, response.data['email'])

        force_authenticate(request,
                           user=self.test_user,
                           token=self.read_access_token)
        response = view(request, pk='2')

        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(user.username, response.data['username'])
        self.assertEqual(user.email, response.data['email'])
Beispiel #2
0
    def test_user_not_found(self):
        factory = APIRequestFactory()
        view = UserDetail.as_view()

        request = factory.put('/api/users/10')
        force_authenticate(request,
                           user=self.test_user,
                           token=self.full_access_token)
        response = view(request, pk='10')
        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)

        request = factory.delete('/api/users/10')
        force_authenticate(request,
                           user=self.test_user,
                           token=self.full_access_token)
        response = view(request, pk='10')
        self.assertEqual(response.status_code, status.HTTP_404_NOT_FOUND)
Beispiel #3
0
    def test_update_user_fail_by_user_with_read_scope_only(self):
        factory = APIRequestFactory()
        view = UserDetail.as_view()

        user = User.objects.create(id=2,
                                   username='******',
                                   password='******',
                                   email='*****@*****.**')
        data = {'id': user.id, 'username': '******', 'email': '*****@*****.**'}

        request = factory.put('/api/users/2', data)
        force_authenticate(request,
                           user=self.test_user,
                           token=self.read_access_token)
        response = view(request, pk='2')

        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
Beispiel #4
0
    def user_delete_user(self,
                         user_id=None,
                         user=None,
                         token=None,
                         user_data=None):
        if not user_id:
            _, content = self.signup_view(user_data)
            user_id = content['id']
            token = self.login(user_data)
            user = User.objects.get(pk=user_id)

        request = APIRequestFactory().delete('api/users/',
                                             content_type='application/json')
        force_authenticate(request, user, token)

        response = UserDetail.as_view()(request, pk=user_id).render()
        return response
Beispiel #5
0
    def test_delete_user_fail_by_user_with_read_scope_only(self):
        factory = APIRequestFactory()
        view = UserDetail.as_view()

        User.objects.bulk_create([
            User(id=2, username='******', password='******', email='*****@*****.**'),
            User(id=3, username='******', password='******',
                 email='*****@*****.**'),
            User(id=4,
                 username='******',
                 password='******',
                 email='*****@*****.**')
        ])

        request = factory.delete('/api/users/2')
        force_authenticate(request,
                           user=self.test_user,
                           token=self.read_access_token)
        response = view(request, pk='2')

        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
Beispiel #6
0
    def user_update_user(self,
                         user_id=None,
                         user=None,
                         token=None,
                         user_data=None):
        if not user_id:
            _, content = self.signup_view(user_data)
            user_id = content['id']
            token = self.login(user_data)
            user = User.objects.get(pk=user_id)

        body = self.TEST_DATA_2

        request = APIRequestFactory().put('api/users/',
                                          data=json.dumps(body),
                                          content_type='application/json')
        force_authenticate(request, user, token)

        response = UserDetail.as_view()(request, pk=user_id).render()
        content = eval(response.content.decode())
        return response, content
Beispiel #7
0
    def test_delete_user(self):
        factory = APIRequestFactory()
        view = UserDetail.as_view()

        users = User.objects.bulk_create([
            User(id=2, username='******', password='******', email='*****@*****.**'),
            User(id=3, username='******', password='******',
                 email='*****@*****.**'),
            User(id=4,
                 username='******',
                 password='******',
                 email='*****@*****.**'),
        ])
        user = users[0]

        request = factory.delete('/api/users/2')
        force_authenticate(request,
                           user=self.test_user,
                           token=self.full_access_token)
        response = view(request, pk='2')

        self.assertEqual(response.status_code, status.HTTP_204_NO_CONTENT)
        self.assertEqual(len(User.objects.all()), 3)
        self.assertNotIn(user, User.objects.all())
Beispiel #8
0
             },
             {
                 'func': 'xml',
                 'serializer_class': None
             },
             {
                 'func': 'get_refsdecls',
                 'serializer_class': RefsDeclSerializer
             },
         ],
                             extra={
                                 'model': Text,
                                 'serializer_class': TextSerializer
                             }))),
 url(r'^users/$', UserList.as_view(), name='user-list'),
 url(r'^users/(?P<pk>\d+)/$', UserDetail.as_view(), name='user-detail'),
 url(
     r'^users/(?P<pk>\d+)/',
     include(
         APIView.urlpatterns([
             {
                 'func': 'communities',
                 'serializer_class': CommunitySerializer
             },
             {
                 'func': 'can_edit',
                 'func_args': '(?P<doc_pk>\d+)/'
             },
             {
                 'func': 'memberships',
                 'serializer_class': MembershipSerializer
Beispiel #9
0
from api.views import CategoryDetail, SubcategoryDetail, UserList, UserDetail, \
    CityList, CategoryList, SubCategoryList, CityDetail, ListCreateListing, \
    DetailUpdateDeleteListing
from rest_framework.authtoken import views
from django.conf.urls import url, include

urlpatterns = [
    url(r'^api-token-auth/$', views.obtain_auth_token),
    url(r'^docs/', include('rest_framework_swagger.urls')),
    url(r'^users/$', UserList.as_view(), name="list_user"),
    url(r'^users/(?P<pk>\d+)/$', UserDetail.as_view(), name="detail_user"),
    url(r'^cities/(?P<pk>\d+)/$', CityDetail.as_view(), name="detail_city"),
    url(r'^cities/$', CityList.as_view(), name="city_list"),
    url(r'^categories/$', CategoryList.as_view(), name="list_category"),
    url(r'^categories/(?P<pk>\d+)/$',
        CategoryDetail.as_view(),
        name="detail_category"),
    url(r'^subcategories/$',
        SubCategoryList.as_view(),
        name="subcategory_list"),
    url(r'^subcategories/(?P<pk>\d+)/$',
        SubcategoryDetail.as_view(),
        name="subdetail_category"),
    url(r'^classifieds/$',
        ListCreateListing.as_view(),
        name="list_create_listing"),
    url(r'^classifieds/(?P<pk>\d+)/$',
        DetailUpdateDeleteListing.as_view(),
        name="detail_update_delete_listing")
]
from django.conf.urls import url, include

from api.views import UserList, PostDetail, PostList, UserPostList, UserDetail, PostPhotoList, PhotoList, PhotoDetail

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.

users_urls = [
    url(r'^$', UserList.as_view(), name='user-list'),
    url(r'^(?P<username>[0-9a-zA-Z_-]+)/$', UserDetail.as_view(), name='user-detail'),
    url(r'^(?P<username>[0-9a-zA-Z_-]+)/posts/$', UserPostList.as_view(), name='userpost-list'),
]

posts_urls = [
    url(r'^$', PostList.as_view(), name='post-list'),
    url(r'^(?P<pk>\d+)/photos/$', PostPhotoList.as_view(), name='postphoto-list'),
    url(r'^(?P<pk>\d+)/$', PostDetail.as_view(), name='post-detail'),
]

photos_urls = [
    url(r'^(?P<pk>\d+)/$', PhotoDetail.as_view(), name='photo-detail'),
    url(r'^$', PhotoList.as_view(), name='photo-list'),
]

urlpatterns = [
    url(r'^users/', include(users_urls)),
    url(r'^posts/', include(posts_urls)),
    url(r'^photos/', include(photos_urls)),
]
Beispiel #11
0
from api.views import ListCreateSurvey, RetrieveUpdateDestroySurvey, UserDetail, ChangePassword, RegisterUser, \
    ListCreateQuestion, RetrieveUpdateDestroyQuestion, TakeSurvey, MyDetail

surveys = [
    path('', ListCreateSurvey.as_view()),
    path('<int:pk>', RetrieveUpdateDestroySurvey.as_view()),
]

questions = [
    path('', ListCreateQuestion.as_view()),
    path('<int:pk>', RetrieveUpdateDestroyQuestion.as_view()),
]

token = [
    path('obtain', TokenObtainPairView.as_view(), name='token_obtain_pair'),
    path('refresh', TokenRefreshView.as_view(), name='token_refresh'),
    path('verify', TokenVerifyView.as_view(), name='token_verify'),
]

urlpatterns = [
    path('take-survey/<int:pk>', TakeSurvey.as_view()),
    path('surveys/', include(surveys)),
    path('questions/', include(questions)),
    path('token/', include(token)),
    path('account', MyDetail.as_view()),
    path('account/<int:pk>', UserDetail.as_view()),
    path('register', RegisterUser.as_view()),
    path('set-password', ChangePassword.as_view())
]
Beispiel #12
0
from api.views import CategoryDetail, SubcategoryDetail, UserList, UserDetail, \
    CityList, CategoryList, SubCategoryList, CityDetail, ListCreateListing, \
    DetailUpdateDeleteListing
from rest_framework.authtoken import views
from django.conf.urls import url, include

urlpatterns = [
    url(r'^api-token-auth/$', views.obtain_auth_token),
    url(r'^docs/', include('rest_framework_swagger.urls')),
    url(r'^users/$', UserList.as_view(), name="list_user"),
    url(r'^users/(?P<pk>\d+)/$', UserDetail.as_view(), name="detail_user"),
    url(r'^cities/(?P<pk>\d+)/$', CityDetail.as_view(), name="detail_city"),
    url(r'^cities/$', CityList.as_view(), name="city_list"),
    url(r'^categories/$', CategoryList.as_view(), name="list_category"),
    url(r'^categories/(?P<pk>\d+)/$', CategoryDetail.as_view(), name="detail_category"),
    url(r'^subcategories/$', SubCategoryList.as_view(),
        name="subcategory_list"),
    url(r'^subcategories/(?P<pk>\d+)/$', SubcategoryDetail.as_view(),
        name="subdetail_category"),
    url(r'^classifieds/$', ListCreateListing.as_view(),
        name="list_create_listing"),
    url(r'^classifieds/(?P<pk>\d+)/$', DetailUpdateDeleteListing.as_view(),
        name="detail_update_delete_listing")
]
Beispiel #13
0
    EmployeeCreate,
    DepartmentCreate,
)

urlpatterns = [
    url(r'^complaints/$', ComplaintList.as_view()),
    url(r'^complaints/create/$', ComplaintCreate.as_view()),
    url(r'^complaints/delete/$', ComplaintDelete.as_view()),
    url(r'^complaints/complete/(?P<pk>[0-9a-zA-Z\-]+)/$',
        ComplaintComplete.as_view()),
    url(r'^complaints/(?P<pk>[0-9a-zA-z\-]+)/$', ComplaintDetail.as_view()),
    url(r'^users/$', UserList.as_view()),
    url(r'^users/create/$', UserCreate.as_view()),
    url(r'^users/delete/$', UserCreate.as_view()),
    url(r'^users/change_password/$', UserChangePassword.as_view()),
    url(r'^userdetail/$', UserDetail.as_view()),
    url(r'^userdetail/update/$', UserDetail.as_view()),
    url(r'^blockdetails/$', BlockOnlyDetail.as_view()),
    url(r'^floordetails/$', FloorOnlyDetail.as_view()),
    url(r'^departments/$', DepartmentList.as_view()),
    url(r'^departments/create/$', DepartmentCreate.as_view()),
    url(r'^departments/delete/(?P<pk>[0-9a-zA-Z\-]+)/$',
        DepartmentCreate.as_view()),
    url(r'^departments/(?P<pk>[0-9a-zA-Z\-]+)/$', DepartmentDetail.as_view()),
    url(r'^employees/$', EmployeeList.as_view()),
    url(r'^employees/create/$', EmployeeCreate.as_view()),
    url(r'^employees/delete/(?P<pk>[0-9a-zA-Z\-]+)/$',
        EmployeeCreate.as_view()),
    url(r'^employees/(?P<pk>[0-9a-zA-Z\-]+)/$', EmployeeDetail.as_view()),
    url(r'^blocks/$', BlockList.as_view()),
    url(r'^blocks/create/$', BlockCreate.as_view()),
Beispiel #14
0
"""mysite URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
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.contrib import admin
from django.urls import path
from django.conf.urls import url
from api.views import UserList, UserDetail

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^api/users/$', UserList.as_view(), name="User_list"),
    #path('api/users/<str:name>', UserList.as_view(), name="User_list"),
    url(r'^api/users/(?P<id>\d+)/$', UserDetail.as_view(), name="User_Detail"),
]
Beispiel #15
0
from django.conf.urls import patterns, include, url
from django.contrib import admin
from api.views import APIRoot, UserProfile, UserDetail, AuthToken

admin.autodiscover()

urlpatterns = patterns('',
    # Django Rest Login Urls
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
    # Queue Application
    url(r'^queue/', include('queue.urls')),
    url(r'^catalog/', include('catalog.urls')),
    url(r'^data_store/',include('data_store.urls')),
    # Admin Urls
    url(r'^admin/', include(admin.site.urls)),
    # Main Project View - Customize depending on what Apps are enabled
    url(r'^$', APIRoot.as_view()),
    url(r'^/\.(?P<format>(api|json|jsonp|xml|yaml))/$', APIRoot.as_view()),
    url(r'^user/',UserProfile.as_view(),name='user-list'),
    url(r'^user/(?P<id>[0-9]+)/$',UserDetail.as_view(),name='user-detail'),
    #url(r'^usertoken/', AuthToken.as_view(), name='token-detail'),
    url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),

)
#urlpatterns1 = patterns(url(r'^$', APIRoot.as_view()),
#    url(r'^/\.(?P<format>(api|json|jsonp|xml|yaml))/$', APIRoot.as_view()),)

#print urlpatterns1
#urlpatterns = format_suffix_patterns(, allowed=['api','json','jsonp', 'xml','yaml'])
Beispiel #16
0
 url(r'^texts/$', TextList.as_view(), name='text-list'),
 url(r'^texts/(?P<pk>\d+)/$', TextDetail.as_view()),
 url(r'^texts/(?P<pk>\d+)/',
     include(APIView.urlpatterns([
         {},
         {'func': 'next'},
         {'func': 'prev'},
         {'func': 'parent'},
         {'func': 'has_parts'},
         {'func': 'is_text_in', 'serializer_class': DocSerializer},
         {'func': 'is_text_of', 'serializer_class': EntitySerializer},
         {'func': 'xml', 'serializer_class': None},
         {'func': 'get_refsdecls', 'serializer_class': RefsDeclSerializer},
     ], extra={'model': Text, 'serializer_class': TextSerializer}))),
 url(r'^users/$', UserList.as_view(), name='user-list'),
 url(r'^users/(?P<pk>\d+)/$', UserDetail.as_view(), name='user-detail'),
 url(r'^users/(?P<pk>\d+)/',
     include(APIView.urlpatterns([
         {'func': 'communities', 'serializer_class': CommunitySerializer},
         {'func': 'can_edit', 'func_args': '(?P<doc_pk>\d+)/'},
         {
             'func': 'memberships',
             'serializer_class': MembershipSerializer
         }, {
             'func': 'memberships', 'func_args': '(?P<community_pk>\d+)/',
             'serializer_class': MembershipSerializer,
         },
     ], extra={'model': APIUser, 'serializer_class': APIUserSerializer}))),
 url(r'^tasks/(?P<pk>\d+)/$', TaskDetail.as_view()),
 url(r'^memberships/$', MembershipList.as_view()),
 url(r'^memberships/(?P<pk>\d+)/$', MembershipDetail.as_view()),
Beispiel #17
0
from django.urls import path, include
from rest_framework import routers

from api.views import DefectViewSet, UserDetail, MaintenanceStateDetail

router = routers.DefaultRouter()
router.register('defect', DefectViewSet)

urlpatterns = [
    path('', include(router.urls)),
    path('user/<int:pk>/', UserDetail.as_view()),
    path('maintenance/', MaintenanceStateDetail.as_view(), name="maintenance"),
]
Beispiel #18
0
from allauth.account.views import confirm_email
from django.conf.urls import url
from django.urls import path, include

from api.views import UserList, UserDetail, ProfileDetail

urlpatterns = [
    path('rest-auth/', include('rest_auth.urls')),
    url(r'^rest-auth/registration/', include('rest_auth.registration.urls')),
    url(r'^verify-email/(?P<key>[\w@+-:]+)/$',
        confirm_email,
        name="account_confirm_email"),
    url(r'^user/$', UserList.as_view(), name="users_list"),
    url(r'^user/(?P<pk>[\w]+)/$', UserDetail.as_view(), name="user_detail"),
    url(r'^profile/(?P<user>[\w]+)/$',
        ProfileDetail.as_view(),
        name="profile_detail"),
]
Beispiel #19
0
from django.conf.urls import include, url, patterns
from django.contrib import admin
from rest_framework import routers
from api.views import UserDetail,UserList,AuthView,logoutView,UserSignup

from django.conf import settings
from django.conf.urls.static import static

#router = routers.DefaultRouter()
#router.register(r'user', UserView, 'list')


urlpatterns = patterns('',

    url(r'^admin/', include(admin.site.urls)),
    url(r'^user/login/$',AuthView.as_view()),
    url(r'^user/logout/$',logoutView),
    url(r'^user/signup/$',UserSignup.as_view()),
    url(r'^user/$', UserList.as_view()),
    url(r'^user/(?P<pk>[0-9]+)/$', UserDetail.as_view()),
 #   url(r'^', include(router.urls)),

) + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Beispiel #20
0
from rest_framework import routers
from api.views import UserAPIView, UserDetail, UserViewSet, RoomAPIView, RoomDetail, RoomViewSet, FavoritesDetail, Search

# Api
from api.views import UserViewSet
"""
DefaultRouter will define the standard REST
GET, POST, PUT, DELETE...
"""
router = routers.DefaultRouter()
router.register(r'user', UserViewSet, basename='user')
router.register(r'room', RoomViewSet, basename='room')

urlpatterns = [
    url(r'^', include(router.urls)),
    url(r'^auth/', include('rest_auth.urls')),
    url('viewset/', include(router.urls)),
    url('user/', UserAPIView.as_view()),
    url('room/', RoomAPIView.as_view()),

    # UserDetail shows user detail
    url('user_detail/<int:id>/', UserDetail.as_view()),
    url('room_detail/<int:id>/', RoomDetail.as_view()),

    # Favorites
    url('favorites/<int:id_user>,<int:id_room>/', FavoritesDetail.as_view()),
    url('favorites/<int:id>/', FavoritesDetail.as_view()),

    # Search
    url('search/<str:location>/', Search.as_view()),
]
Beispiel #21
0
from django.urls import path
from rest_framework.urlpatterns import format_suffix_patterns
from api import views
from api.views import (TodoList, TodoDetail, UserList, UserDetail)

app_name = 'api'

urlpatterns = [
    # path('todo/', views.todo_list, name='todo_list'),
    # path('todo/<int:pk>', views.todo_detail, name='todo_detail'),
    path('', views.api_root),
    path('todo/', TodoList.as_view(), name='todo-list'),
    path('todo/<int:pk>', TodoDetail.as_view(), name='todo-detail'),
    path('user/', UserList.as_view(), name='user-list'),
    path('user/<int:pk>', UserDetail.as_view(), name='user-detail'),
]

urlpatterns = format_suffix_patterns(urlpatterns)
Beispiel #22
0
from api.views import ChirpListCreateView, ChirpDetailAndUpdate, UserList, \
    UserDetail
from django.conf.urls import url
from rest_framework.urlpatterns import format_suffix_patterns

__author__ = 'jeff'

urlpatterns = [
    url(r'^chirps/$', ChirpListCreateView.as_view(), name='api_chirp_list'),
    url(r'^chirps/(?P<pk>[0-9]+)/',
        ChirpDetailAndUpdate.as_view(), name='api_chirp_detail'),
    url(r'^users/$', UserList.as_view(), name='user_list'),
    url(r'^users/(?P<pk>[0-9]+)/', UserDetail.as_view(), name='user_detail'),
    url(r'^github/(?P<username>\w+)/$', 'api.views.github_user'),
    url(r'^github/(?P<username>\w+)/repos/$', 'api.views.github_repo')
]

urlpatterns = format_suffix_patterns(urlpatterns)
Beispiel #23
0
from django.conf.urls import url, include
from django.contrib import admin

from api.views import UserList, UserDetail, ProfileList, ProfileDetail, JobPostingList, \
    JobPostingDetail, JobApplicationList, JobApplicationDetail, InviteViaEmail, ProfileRecommendations, \
    EducationDescriptionList, EducationDescriptionDetail, EmploymentDescriptionList, EmploymentDescriptionDetail, \
    SkillList, SkillDetail, CompanyList, CompanyDetail, ForgottenPasswordEmail, ResetPassword, Search, RegisterConnection, \
    ConnectionList, ProfileImageList, ProfileApplicationIDs, ProfileApplicationList, FeedPostList, UserJobPostingsList, \
    ChangePassword, DeleteConnection

urlpatterns = [
    url(r'^users/$', UserList.as_view()),
    url(r'^users/(?P<username>[a-zA-Z][a-zA-Z0-9_]+)/$', UserDetail.as_view()),
    url(r'^users/(?P<username>[a-zA-Z][a-zA-Z0-9_]+)/change-password/$',
        ChangePassword.as_view()),
    url(r'^profiles/$', ProfileList.as_view()),
    url(r'^profiles/(?P<username>[a-zA-Z][a-zA-Z0-9_]+)/$',
        ProfileDetail.as_view()),
    url(r'^profiles/(?P<username>[a-zA-Z][a-zA-Z0-9_]+)/recommendations/$',
        ProfileRecommendations.as_view()),
    url(r'^profiles/(?P<username>[a-zA-Z][a-zA-Z0-9_]+)/application_ids/$',
        ProfileApplicationIDs.as_view()),
    url(r'^jobs/$', JobPostingList.as_view()),
    url(r'^jobs/(?P<job_id>[0-9]+)/$', JobPostingDetail.as_view()),
    url(r'^jobs/(?P<job_id>[0-9]+)/applications/$',
        JobApplicationList.as_view()),
    url(r'^jobs/(?P<job_id>[0-9]+)/applications/(?P<application_id>[0-9]+)/$',
        JobApplicationDetail.as_view()),
    url(r'^send-invite/$', InviteViaEmail.as_view()),
    url(r'^forgot-password/$', ForgottenPasswordEmail.as_view()),
    url(r'^reset-password/$', ResetPassword.as_view()),
Beispiel #24
0
from django.conf.urls import url, include

from api.views import UserList, PostDetail, PostList, UserPostList, UserDetail, PostPhotoList, PhotoList, PhotoDetail

# Wire up our API using automatic URL routing.
# Additionally, we include login URLs for the browsable API.

users_urls = [
    url(r'^$', UserList.as_view(), name='user-list'),
    url(r'^(?P<username>[0-9a-zA-Z_-]+)/$',
        UserDetail.as_view(),
        name='user-detail'),
    url(r'^(?P<username>[0-9a-zA-Z_-]+)/posts/$',
        UserPostList.as_view(),
        name='userpost-list'),
]

posts_urls = [
    url(r'^$', PostList.as_view(), name='post-list'),
    url(r'^(?P<pk>\d+)/photos/$',
        PostPhotoList.as_view(),
        name='postphoto-list'),
    url(r'^(?P<pk>\d+)/$', PostDetail.as_view(), name='post-detail'),
]

photos_urls = [
    url(r'^(?P<pk>\d+)/$', PhotoDetail.as_view(), name='photo-detail'),
    url(r'^$', PhotoList.as_view(), name='photo-list'),
]

urlpatterns = [
Beispiel #25
0
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
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.contrib import admin
from django.urls import path
from api.views import AdDetail
from api.views import FavouriteDetail
from api.views import UserDetail
from api.views import ProductFilterDetail
from api.views import ProductSearch
from api.views import CategoryDetail
from django.conf.urls import url, include

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^api/product/ad', AdDetail.as_view()),
    url(r'^api/favourite', FavouriteDetail.as_view()),
    url(r'^api/product/filter', ProductFilterDetail.as_view()),
    url(r'^api/product/find', ProductSearch.as_view()),
    url(r'^api/user', UserDetail.as_view()),
    url(r'^api/category', CategoryDetail.as_view()),
]