Skip to content

RPC4Django is an XMLRPC and JSONRPC server for Django powered projects. Simply plug it into any existing Django project and you can make your methods available via XMLRPC and JSONRPC.

License

Notifications You must be signed in to change notification settings

alexandermorozov/rpc4django

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RPC4Django

Prerequisites

Installation

pip install rpc4django

Configuration

  1. First, you need to add new url pattern to your root urls.py file. You can replace r'^RPC2$' with anything you like.

    # urls.py
    
    urlpatterns = patterns('',
        # rpc4django will need to be in your Python path
        (r'^RPC2$', 'rpc4django.views.serve_rpc_request'),
    )
    
  2. Second, add RPC4Django to the list of installed applications in your settings.py.

    # settings.py
    
    INSTALLED_APPS = (
        'rpc4django',
    )
    
  3. Lastly, you need to let RPC4Django know which methods to make available. RPC4Django recursively imports all the apps in INSTALLED_APPS and makes any methods importable via __init__.py with the @rpcmethod decorator available as RPC methods. You can always write your RPC methods in another module and simply import it in __init__.py.

    # testapp/__init__.py
    from rpc4django import rpcmethod
    
    # The doc string supports reST if docutils is installed
    @rpcmethod(name='mynamespace.add', signature=['int', 'int', 'int'])
    def add(a, b):
        '''Adds two numbers together
        >>> add(1, 2)
        3
        '''
    
        return a+b
    
  4. For additional information, read the docs

About

RPC4Django is an XMLRPC and JSONRPC server for Django powered projects. Simply plug it into any existing Django project and you can make your methods available via XMLRPC and JSONRPC.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%