code: def urls(cls):
          
          class_name = cls.get_class_name()
          if django.VERSION >= (2, 0):
              return path('{}/'.format(class_name), include([
                  path('popup/', cls.create().as_view(), name='{}_popup_create'.format(class_name)),
                  path('popup/<int:pk>/', cls.update().as_view(), name='{}_popup_update'.format(class_name)),
                  path('popup/delete/<int:pk>/', cls.delete().as_view(), name='{}_popup_delete'.format(class_name)),
              ]))
          else:
              return url(r'^{}/'.format(class_name), include([
                  url(r'^popup/$', cls.create().as_view(), name='{}_popup_create'.format(class_name)),
                  url(r'^popup/(?P<pk>\d+)/$', cls.update().as_view(), name='{}_popup_update'.format(class_name)),
                  url(r'^popup/delete/(?P<pk>\d+)/$', cls.delete().as_view(), name='{}_popup_delete'.format(class_name)),
              ]))
docs: generate url and url_name for create、update and delete view
          default url_name is classname_name