как создать динамический c URL-адрес в python (apiview, django)? - PullRequest
0 голосов
/ 19 июня 2020

Я хочу динамически добавить идентификатор к шаблону URL и распечатать этот идентификатор на моем сервере. например, на http://127.0.0.1: 8000 / experience / 3 Я хочу распечатать 3 на свой сервер.

from django.contrib import admin
from django.urls import path,include
from core.views import TestView
from core.views import ExperienceView
from core.views import ProjectView
from rest_framework.authtoken.views import obtain_auth_token

urlpatterns = [

    path('experience/<str:id>', ExperienceView.as_view(),name='experience'),

]
class ExperienceView(APIView):
    ...
    def delete(self,request,*args,**kwargs,id):
        connection = sqlite3.connect('/Users/lambda_school_loaner_182/Documents/job-search-be/jobsearchbe/db.sqlite3')
        cursor = connection.cursor()
        req = request.data
        print(id)
        return Response(data)

1 Ответ

2 голосов
/ 19 июня 2020
Параметры

url передаются в args и kwargs, в этом случае вы можете получить свой объект id из kwargs.

class ExperienceView(APIView):
    ...
    # don't change the signature of delete method
    def delete(self,request,*args,**kwargs):
        # print args and kwargs to see what parameters url passed.
        print(args)
        print(kwargs)
        id = kwargs.get('id')
        return Response(data)
...