Quickstart
Installation
$ pip install django-revproxy
If you want to use DiazoProxyView you will also need to install Diazo. In that case you can use the following handy shortcurt:
$ pip install django-revproxy[diazo]
Configuration
After installation, you’ll need to configure your application to use django-revproxy.
Start by adding revproxy to your settings.py
file as follows:
#Add 'revproxy' to INSTALLED_APPS.
INSTALLED_APPS = (
# ...
'django.contrib.auth',
'revproxy.apps.RevProxyConfig',
# ...
)
Next, you’ll need to create a View that extends revproxy.views.ProxyView
and set the upstrem attribute:
from revproxy.views import ProxyView
class TestProxyView(ProxyView):
upstream = 'http://example.com'
And now add your view in the urls.py
:
from django.urls import re_path
from myapp.views import TestProxyView
urlpatterns = [
re_path(r'(?P<path>.*)', TestProxyView.as_view()),
]
Alternatively you could just use the default ProxyView as follow:
from django.urls import re_path
from revproxy.views import ProxyView
urlpatterns = [
re_path(r'(?P<path>.*)', ProxyView.as_view(upstream='http://example.com/')),
]
After starting your test server you should see the content of http://example.com/ on http://localhost:8000/.
See also
An example of a project can be found here: https://github.com/seocam/revproxy-test
The provided test project is a simple Django project that makes uses of revproxy. It basically possess a view.py that extends from ProxyView and sets the upstream address to ‘httpbin.org’.