コード例 #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'])
コード例 #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)
コード例 #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)
コード例 #4
0
ファイル: tests.py プロジェクト: mhashas/Jogging-Tracker-API
    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
コード例 #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)
コード例 #6
0
ファイル: tests.py プロジェクト: mhashas/Jogging-Tracker-API
    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
コード例 #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())
コード例 #8
0
ファイル: urls.py プロジェクト: DigitalResearchCentre/api
             },
             {
                 '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
コード例 #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")
]
コード例 #10
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 = [
    url(r'^users/', include(users_urls)),
    url(r'^posts/', include(posts_urls)),
    url(r'^photos/', include(photos_urls)),
]
コード例 #11
0
ファイル: urls.py プロジェクト: sasha00123/polls
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())
]
コード例 #12
0
ファイル: urls.py プロジェクト: D4VEB/fredslist
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")
]
コード例 #13
0
ファイル: urls.py プロジェクト: bhaveshpraveen/VIT-Pugaar
    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()),
コード例 #14
0
ファイル: urls.py プロジェクト: deepakdevp/Rest_api_DRF
"""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"),
]
コード例 #15
0
ファイル: urls.py プロジェクト: ok-water-survey/api
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'])
コード例 #16
0
ファイル: urls.py プロジェクト: yuumbaalam/api
 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()),
コード例 #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"),
]
コード例 #18
0
ファイル: urls.py プロジェクト: ach11/PlantingEra_Backend
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"),
]
コード例 #19
0
ファイル: urls.py プロジェクト: shouviksaha/user-api-flatchat
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)
コード例 #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()),
]
コード例 #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)
コード例 #22
0
ファイル: urls.py プロジェクト: tiy-lv-python-2015-06/chirper
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)
コード例 #23
0
ファイル: urls.py プロジェクト: mattjegan/cvconnect_backend
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()),
コード例 #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 = [
コード例 #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()),
]