Roan is a per-model url purging Django app. It connects to model signals and purge URLs wherever a model is saved, updated or deleted.
Getting started
Installation
You can install Roan using pip:
$ [sudo] pip install roan
The only dependency is requests, that will be installed automatically by pip (if you don’t use the --no-deps argument).
Configuration
Roan uses only an optional setting: ROAN_PURGE_URL. If you don’t specify it, it’ll be http://localhost/purge.
Example of configuration:
ROAN_PURGE_URL = 'http://nginx.souza.cc/clean'
nginx proxy_cache support
Since Roan is based on a personal need, it’s based on nginx’s proxy_cache.
Suppose you have the following purge mapping:
location ~ /purge(/.*) {
allow 127.0.0.1;
deny all;
proxy_cache_purge roan "$scheme://$host$1";
}
Now suppose you have the following Django model:
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
And you have a URL /posts where users can see a list of posts. How can you set a forever cache and expect the cache to be refreshed whenever a new post is saved? Or whenever a post gets updated or deleted?
Using Roan you’ll be able to connect one or more models to one or more URL. So you can connect the Post model with the /posts URL, and whenever a Post gets saved, updated or deleted, Roan makes a request to the /purge/posts URL.
Usage
Once you have Roan installed and configured, you just need to call it in a file that Django executes (e.g.: the models.py of your app). Here is the code for the example above, of purging the /posts URL whenever a post gets saved or deleted:
from roan import purge
from models import Post
purge("/posts").on_save(Post)
purge("/posts").on_delete(Post)
Metadata
Release files for roan 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| roan-0.1.tar.gz | 2.5 kB | Details |
Release files / roan-0.1.tar.gz
| Download URL | roan-0.1.tar.gz |
|---|---|
| Size | 2.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fa30259ad45add5c6565ede4e1e467f6612c3d0a287709c565a90c9862e88e8f
|
|
BLAKE2b-256 checksum How to use checksums |
3566f8aad53825572176349f055a6a65940d7a381a5a0c46537cda972325b01f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |