Python 如何在基于类的视图中使用自定义函数

Python 如何在基于类的视图中使用自定义函数,python,django,django-views,django-rest-framework,Python,Django,Django Views,Django Rest Framework,我有这个看法 class UserView(GenericAPIView): def get(self, request, format=None, **kwargs): pass def post(self, request, format=None, **kwargs): pass 这与此url配合得很好 url(r'^user$', UserView.as_view(),name='user'), 但我想有自定义的网址 def cus

我有这个看法

class UserView(GenericAPIView):
    def get(self, request, format=None, **kwargs):
        pass

    def post(self, request, format=None, **kwargs):
        pass
这与此url配合得很好

url(r'^user$', UserView.as_view(),name='user'),
但我想有自定义的网址

def  custom():
      pass
我想要

url(r'^user/custom/$', UserView.as_view(custom),name='user'),
我该怎么做你不能这么做

from django.conf.urls import url
from django.views.generic import TemplateView

urlpatterns = [
    url(r'^about/', TemplateView.as_view(template_name="about.html")),
]
传递给as_view()的任何参数都将覆盖 班级。在本例中,我们在TemplateView上设置template_名称。A. 类似的覆盖模式可用于上的url属性 重定向视图

如果需要“自定义”url,请使用基于函数的视图

URL

url(r'^user/custom/$', custom, name='user'),
url(r'^about/', MyView.as_view(custom='custom_param')),
视图

def custom(request):
     # your custom logic
     # return something
编辑1* 如果要将参数传递给CBV

class View(DetailView):
    template_name = 'template.html'
    model = MyModel
    # custom parameters
    custom = None

    def get_object(self, queryset=None):
        return queryset.get(custom=self.custom)
Url

url(r'^user/custom/$', custom, name='user'),
url(r'^about/', MyView.as_view(custom='custom_param')),

我不知道你想要什么。你想为每个用户设置一个自定义url吗?我可以在url中设置该参数为可选参数吗?这样,如果我在url中看到该自定义参数,那么我就可以在POST中执行不同的操作。othwise/user将工作。你想做什么?实际上,我需要支持legagy应用程序,它基于url执行三种不同的工作。他们都是邮递员。最初我们有三种不同的函数视图,但现在我已经将其转换为基于类的视图,所以我在想最好的方法是什么,一种方法是将单独的变量作为_view()传入,然后根据that@user3214546你找到解决问题的办法了吗?现在处理同样的任务