# 我们使用的测试工具依旧是requests
# step1: 了解类视图的基本结构(views.py)
from django.views import View
class TestView(View):
def get(self, request, *args, **kwargs):
pass
def post(self, request, *args, **kwargs):
pass
def put(self, request, *args, **kwargs):
pass
def delete(self, request, *args, **kwargs):
pass
# step2: 对照一下从前我们写的视图函数(views.py)
def index(request):
if request.method == 'GET':
pass
if request.method == 'POST':
pass
if request.method == 'PUT':
pass
if request.method == 'DELETE':
pass
# 似乎使用类视图,结构上要清晰很多
# step3: 看一下类视图的url结构(urls.py)
from django.urls import path
from . import views
urlpatterns = [
path('test', views.TestView.as_view()),
]
# step4: 看一下视图函数对应的url结构(urls.py)
from . import views
from django.urls import path
urlpatterns = [
path('role_list/', views.role_list, name='role_list'),]
现在该进入正题了:
# get请求的参数传递
# situation one:
url: http://hostname:port?argument1
def get(self, request, *args, **kwargs):
print({'args':args, 'kwargs':kwargs})
# situation two:
urls.py : path(r'test/<int>', views.TestView.as_view()),
test url: http://hostname:port/1
可以看到参数从kwargs中传递进来了,key='int' , value=1
# situation three:
urls.py: path(r'test/<int:fid>', view.TestView.as_view()),
test url: http://hostname:port/1
怎么传?这样的参数呢?暂时还不太清楚,再研究一下